我有麻煩嘗試使用PHP在HTML中打印出<
>
符號。在PHP中打印小於和大於符號
我將一個字符串「<machine>
」添加到變量中。
例子:
$output .= " <machine> ";
echo $output;
我嘗試使用逃逸,但沒有幫助。有什麼建議?
我有麻煩嘗試使用PHP在HTML中打印出<
>
符號。在PHP中打印小於和大於符號
我將一個字符串「<machine>
」添加到變量中。
例子:
$output .= " <machine> ";
echo $output;
我嘗試使用逃逸,但沒有幫助。有什麼建議?
如果你是輸出HTML,你不能只用<
和>
:您必須使用相應的HTML entities:<
和>
如果你在PHP中的字符串想要通過相應的HTML實體自動替換這些字符,您將會對htmlspecialchars()
函數感興趣(引用):
執行的翻譯是:
'&'
(符號)變成'&'
'"'
(雙引號)變得'"'
時ENT_NOQUOTES
不是 集。"'"
(單引號)變成'''
只有當ENT_QUOTES
是 設置。'<'
(小於)變得'<'
'>'
(大於)變得'>'
你的情況,像這樣的代碼的一部分:
$輸出=「 「;
echo htmlspecialchars($output, ENT_COMPAT, 'UTF-8');
會得到以下HTML代碼輸出:
<machine>
而且,爲了以防萬一,如果你想編碼更多的字符,你應該看看htmlentities()
功能。
感謝幫助以及其他人的迴應。 –
或者僅僅是'echo'輸出的'htmlspecialchars()',不需要在之前運行它。 –
@韋斯利:OP的代碼包含了一個連接,所以我想強調它仍然可以和原來的意圖一樣使用(並且它返回一個值,而不僅僅是輸出一個)。但是你是對的,只需要把它稱爲最高級別。 –
你的麻煩不使用PHP,而是與<
和>
在HTML中使用的事實。如果你希望他們在瀏覽器中顯示,你可能想打印出他們躲過實體版本:
<
是<
>
是>
您還可以使用htmlspecialchars()
功能自動轉換它們:
echo htmlspecialchars("<machine>");
您需要將它們變成例如<
和>
- 請參閱htmlentities()
或htmlspecialchars()
函數。
echo htmlentities($output);
或
echo htmlspecialchars($output);
如果你不想打擾手動經歷的字符串和更換的實體。
<和>符號應顯示在HTML源中,但「<」機器>被解釋爲XML標記。使用htmlentities()將字符串中的所有特殊字符轉換爲其HTML等價物,或使用「& lt; machine & gt;」
解決方案:
$output .= " <machine> ";
$output = htmlentites($output);
echo $output;
http://php.net/manual/en/function.htmlentities.php - '回波ヶ輛($輸出);' – ajreal
的可能重複的[如何顯示HTML標記爲純文本](http://stackoverflow.com/questions/6817262/how-to-display-html-tags-as-plain-text) –