有些奇怪。我意識到我的textarea的內容並不是正確的。 內容來自file_get_contents($文件)。我的文件是用UTF-8編寫的,就像我所有的代碼一樣。 所以在nodepade ++我的代碼file_get_contents轉過來<在文本區
$txt = str_replace('<','<',$txt);
但在文本區域的& LT變成<。 這真的不好! 我需要一些幫助。 THX
有些奇怪。我意識到我的textarea的內容並不是正確的。 內容來自file_get_contents($文件)。我的文件是用UTF-8編寫的,就像我所有的代碼一樣。 所以在nodepade ++我的代碼file_get_contents轉過來<在文本區
$txt = str_replace('<','<',$txt);
但在文本區域的& LT變成<。 這真的不好! 我需要一些幫助。 THX
你必須使用htmlentities()
像:
$str = "<"; echo htmlentities($str);
將輸出<
編輯 您還可以使用用htmlspecialchars上述評論。
但在textarea的
<
變成了<
。這真的不好!
這就是<
的整點。它告訴瀏覽器「這是一個小於一個字符」而不是「這是一個標籤的開始」。
如果要顯示符號後跟lt;
,則需要使用符號的字符引用。
&
表示「這是一個和號字符」而不是&
,意思是「這是一個字符引用的開始」。
此:
&lt;
非常好的深入解釋,它沒有回答這個問題 - 如何 - 修復 - 而是 - 很好知道。海事組織實際上非常值得指出。 – isnisn
我做的方式:
$content = htmlentities(get_content_files($file));
作品現在的罰款。
沒關係,因爲它是HTML的工作原理。如果您想按原樣在HTML中插入文本,請至少爲內容執行'htmlspecialchars((字符串)$ text,ENT_QUOTES | ENT_SUBSTITUTE,'UTF-8')'。 – ksimka
[偉大的逃避現實(或:你需要知道如何處理文本中的文本)](http://kunststube.net/escapism/) – deceze