PHP htmlspecialchars 函數

來源:互聯網
上載者:User

PHP htmlspecialchars 函數

定義和用法
addslashes() 函數在指定的預定義字元前添加反斜線。

些字元有特殊意義的HTML,並應在HTML實體的代表,如果他們要保持它們的含義。這個函數返回一個與這些轉換的一些字串的;的譯本,是那些最有用的日常網路編程。如果您需要的所有HTML字元實體進行翻譯,使用ヶ輛()代替。

此功能有助於防止使用者提供從含有諸如在留言板或來賓簿應用HTML標記,文本。

在翻譯過程為:

'&'(符號)變成'&'
'“'(雙引號)變成'”'時ENT_NOQUOTES未設定。
'''(單引號)成為'''只有當ENT_QUOTES設定。
'<“(小於)變成”<'
'>“(大於)變成'>”

 

字串
該字串被轉換。

quote_style
可選的第二個參數,quote_style,告訴函數如何處理單,雙引號。預設的模式,ENT_COMPAT,是向後相容的模式,只有99.64雙引號字元和葉單引號翻譯。如果ENT_QUOTES設定單一和雙引號翻譯,如果ENT_NOQUOTES既不是單一的,也不設定雙引號的翻譯。

字元集
定義中使用的字元集的轉換。預設字元集是ISO - 8859 - 1。

對於這個功能的目的,標準字元集- 8859 - 1問題,ISO - 8859 - 15,UTF - 8的,cp866,cp1251,cp1252,並KOI8 - R的有效等價,如用htmlspecialchars影響的字元()佔用相同這些職位的所有字元集。

以下字元集的支援在PHP 4.3.0及更高版本。

支援的字元集編碼別名描述
標準- 8859 - 1 ISO8859 - 1西歐,拉美- 1
標準- 8859 - 15 ISO8859 - 15西歐,拉美9。增加了歐元符號,法國和芬蘭在拉丁美洲的信失蹤1字元(ISO - 8859 - 1)。
UTF - 8的ASCII相容多位元組8位Unicode。
cp866 ibm866,866 DOS的具體西裡爾字元集。這字元集支援4.3.2。
cp1251的Windows - 1251,共贏1251,1251 Windows的具體西裡爾字元集。這字元集支援4.3.2。
cp1252的Windows - 1252,1252的Windows西歐特定字元集。
KOI8 - R的koi8茹,koi8r俄羅斯。這字元集支援4.3.2。
繁體版950繁體中文,主要用於台灣。
簡體版936簡體中文,國家標準字元集。
繁體版,繁體中文字元集的擴充與香港,繁體中文。
Shift_JIS 8859,932日語
EUC - JP的EUCJP日本


註:任何其他字元集無法識別和ISO - 8859 - 1將用來代替。


double_encode
當double_encode關閉PHP將不存在的HTML實體編碼開啟,預設是把一切。


<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;

參考執行個體

<?php

function get_page($url)
{
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_USERAGENT, 'some bot');
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
  curl_setopt($curl, CURLOPT_REFERER, '-');
  curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
...
    curl_setopt($curl, CURLOPT_HEADER, 1);
    curl_setopt($curl, CURLOPT_NOBODY, 0);
  curl_setopt($curl, CURLOPT_TIMEOUT, 10);
  $html = curl_exec($curl);
  curl_close($curl);

  return $html;
}

$text = get_page($url);
$new = htmlspecialchars($text, ENT_QUOTES); // here is the magic :)

    echo '<pre>' .$new. '</pre>';


?>

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.