簡體   English   中英

在PHP和MySQL中插入和顯示特殊字符

[英]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中,使用雙引號將文字字符串解釋為不同。

在字符串上引用PHP手冊頁

與雙引號和Heredoc語法不同,特殊字符的變量和轉義序列在單引號引起來的字符串中不會擴展。

因此, echo '\\n'將輸出一個反斜杠,后跟n ,而echo "\\n"將輸出一個Unix換行字符。

我用html_entity_decode每當我想要顯示正在使用ヶ輛轉換特殊字符。

嘗試:

$message = html_entity_decode($message);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM