[英]Inserting and displaying special characters in PHP and MySQL
我正在創建小型消息傳遞模塊,並且試圖准確地存儲他們鍵入的數據。
目前,我從輸入和添加htmlentities
剝離HTML標記以轉義特殊字符...
$message = strip_tags($_POST['input']);
$message = htmlentities($message, ENT_QUOTES);
$message = $Database->escape($message);
轉義就是mysqli_real_escape_string
然后,我使用以下內容嘗試解析並再次顯示數據...
$message = str_replace('\r\n', '<br>', $message);
$message = str_replace('\n', '<br>', $message);
$message = str_replace('\r', '<br>', $message);
我在嘗試顯示\\
(反斜杠)時遇到了麻煩,因為它顯示的是兩個而不是一個(即使寫了一個)
在轉義序列周圍使用雙引號"
字符代替單引號'
字符。
$message = str_replace("\r\n", '<br>', $message);
$message = str_replace("\n", '<br>', $message);
$message = str_replace("\r", '<br>', $message);
在PHP中,使用雙引號將文字字符串解釋為不同。
與雙引號和Heredoc語法不同,特殊字符的變量和轉義序列在單引號引起來的字符串中不會擴展。
因此, echo '\\n'
將輸出一個反斜杠,后跟n ,而echo "\\n"
將輸出一個Unix換行字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.