php把預定義的html實體轉換為字元的函數htmlspecialchars_decode()

來源:互聯網
上載者:User

執行個體

把預定義的 HTML 實體 "<"(小於)和 ">"(大於)轉換為字元:

<?php$str = "This is some &lt;b&gt;bold&lt;/b&gt; text.";echo htmlspecialchars_decode($str);?>

上面代碼的 HTML 輸出如下(查看原始碼):

<!DOCTYPE html><html><body>This is some <b>bold</b> text.</body></html>

上面代碼的瀏覽器輸出如下:

This is some bold text.

定義和用法

htmlspecialchars_decode() 函數把一些預定義的 HTML 實體轉換為字元。

  • 會被解碼的 HTML 實體是:

  • &amp; 解碼成 & (和號)

  • &quot; 解碼成 " (雙引號)

  • ' 解碼成 ' (單引號)

  • &lt; 解碼成 < (小於)

  • &gt; 解碼成 > (大於)

htmlspecialchars_decode() 函數是 htmlspecialchars() 函數的反函數。

文法

htmlspecialchars_decode(string,flags)
參數 描述
string 必需。規定要解碼的字串。
flags 可選。規定如何處理引號以及使用哪種文件類型。

可用的引號類型:

  • ENT_COMPAT - 預設。僅解碼雙引號。

  • ENT_QUOTES - 解碼雙引號和單引號。

  • ENT_NOQUOTES - 不解碼任何引號。

規定使用的文件類型的附加 flags:

  • ENT_HTML401 - 預設。作為 HTML 4.01 處理代碼。

  • ENT_HTML5 - 作為 HTML 5 處理代碼。

  • ENT_XML1 - 作為 XML 1 處理代碼。

  • ENT_XHTML - 作為 XHTML 處理代碼。

技術細節

傳回值: 返回已轉換的字串。
PHP 版本: 5.1.0+
更新日誌: 在 PHP 5.4 中,新增了用於規定使用的文件類型的附加 flags:ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML。

更多執行個體

執行個體 1

把一些預定義的 HTML 實體轉換為字元:

<?php$str = "Jane &amp; 'Tarzan'";echo htmlspecialchars_decode($str, ENT_COMPAT); //  預設,僅解碼雙引號echo "<br>";echo htmlspecialchars_decode($str, ENT_QUOTES); //  解碼雙引號和單引號echo "<br>";echo htmlspecialchars_decode($str, ENT_NOQUOTES); // 不解碼任何引號?>

上面代碼的 HTML 輸出如下(查看原始碼):

<!DOCTYPE html><html><body>Jane & 'Tarzan'<br>Jane & 'Tarzan'<br>Jane & 'Tarzan'</body></html>

上面代碼的瀏覽器輸出如下:

Jane & 'Tarzan'Jane & 'Tarzan'Jane & 'Tarzan'

執行個體 2

把預定義 HTML 實體轉換為雙引號:

<?php$str = 'I love &quot;PHP&quot;.';echo htmlspecialchars_decode($str, ENT_QUOTES); // 解碼雙引號和單引號?>

上面代碼的 HTML 輸出如下(查看原始碼):

<!DOCTYPE html><html><body>I love "PHP".</body></html>

上面代碼的瀏覽器輸出如下:

I love "PHP".

htmlspecialchars_decode() 函數把一些預定義的 HTML 實體轉換為字元。

<?php$str = "This is some &lt;b&gt;bold&lt;/b&gt; text.";echo htmlspecialchars_decode($str);?>

會被解析成

<!DOCTYPE html><html><body>This is some <b>bold</b> text.</body></html>

使用者商品詳情的輸出。

<p>    {sh:$info.intro|htmlspecialchars_decode}</p>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.