您好,登錄后才能下訂單哦!
本篇內容主要講解“php string如何轉為html”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php string如何轉為html”吧!
php string轉為html的方法:1、通過htmlentities()將字符串中特殊字符轉化為html實體;2、通過htmlspecialchars()函數將字符串中特殊字符轉化為html實體。
本文操作環境:Windows7系統、PHP7.1版本、Dell G3電腦
php string怎么轉為html?
PHP中字符串與html相互轉化函數
在一般通信過程中,可能會遇到文檔文本編碼中所不包括很多字符,或者無法在鍵盤上輸入的字符。例如,版權符號(?)、分幣符號(¢)和語法重音符號等就屬于這種字符。為了克服這些缺點,專門設計了一組統一的按鍵編碼,稱為字符實體引用。
1,htmlentities(),將字符串中特殊字符轉化為html實體。
string htmlentities(string $str,int $quote_style,int $charset,boolean $double_encode),因為標記中引號有特殊意義,可以通過$quote_style參數來選擇如何處理引號,其值:ENT_COMPAT,轉換雙引號,忽略單引號,這是默認值;ENT_NOQUOTES,忽略雙引號和單引號;ENT_QUOTES,轉換雙引號和單引號。$charset參數確定轉換所用字符集,如果忽略charset,默認認為ISO-8859-1。$double_encode會阻止htmlentities()對字符串中已有的HTML實體編碼。
如:
<?php $str = "Bill & 'Steve'"; echo htmlentities($str, ENT_COMPAT); // 只轉換雙引號 echo "<br>"; echo htmlentities($str, ENT_QUOTES); // 轉換雙引號和單引號 echo "<br>"; echo htmlentities($str, ENT_NOQUOTES); // 不轉換任何引號
輸出:
Bill & 'Steve'
Bill & 'Steve'
Bill & 'Steve'
頁面源代碼是:
Bill & 'Steve'<br>Bill & 'Steve'<br>Bill & 'Steve'
<?php $str = "Bill & 'Steve'"; echo html_entity_decode($str, ENT_COMPAT); // 只轉換雙引號 echo "<br>"; echo html_entity_decode($str, ENT_QUOTES); // 轉換雙引號和單引號 echo "<br>"; echo html_entity_decode($str, ENT_NOQUOTES); // 不轉換任何引號
輸出:Bill & 'Steve'Bill & 'Steve'Bill & 'Steve'頁面源代碼是:
Bill & 'Steve'<br>Bill & 'Steve'<br>Bill & 'Steve'
2,htmlspecialchars()函數,將字符串中特殊字符轉化為html實體。
string htmlspecialchars(string $str,int $quote_style,int $charset,boolean $double_encode),參數與htmlentities()函數中參數類似。
如:
<?php $str = "This is some <b>bold</b> text"; $str1 = htmlspecialchars($str); echo $str."<br/>"; echo $str1;
輸出:
This is some bold text
This is some <b>bold</b> text
源代碼如下:
This is some <b>bold</b> text<br/>This is some <b>bold</b> text
htmlspecialchars()函數可以轉換的字符列表以及最終轉換格式如下:&=>&"(雙引號)=>"'(單引號)=>'<=><>=>>注:要防止用戶向一個交互式web應用程序中輸入HTML標簽,這個函數尤為有用。以下例子使用htmlspecialchars()來轉換可能有害的字符:
<?php $input = "I just can't get <<enough>> of PHP!"; echo htmlspecialchars($input);
其反函數是htmlspecialchars_decode(),htmlspecialchars_decode(string $str,int $flag),$flags規定翻譯表將包含哪種引號以及翻譯表用于哪種文檔類型,默認是ENT_COMPAT | ENT_HTML401。
如:
<?php $str = "This is some <b>bold</b> text."; $str1 = htmlspecialchars_decode($str); echo $str."<br/>",$str1;
輸出:
This is some <b>bold</b> text.
This is some bold text.
源代碼:
This is some <b>bold</b> text.<br/>This is some <b>bold</b> text.
3,strip_tags()函數,從字符串中移除空字符,HTML和PHP標記,將html轉化為純文本。
string strip_tags(string $str,string $allowable_tags)
$str,待處理字符串,$allowable_tags指定不被去除的字符列表。
如:
<?php $text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>' ; echo strip_tags ( $text ); echo "\n" ; // 允許 <p> 和 <a> echo strip_tags ( $text , '<p><a>' );
輸出:
4,get_html_translation_table()函數,返回使用htmlspecialchars()和htmlentities()后的轉換表。
array get_html_translation_table(int $table,int $flags,string $encoding),$table表示想要的表,分別是HTML_ENTITIES,HTML_SPECIALCHARS。$flags規定翻譯表將包含哪種引號以及翻譯表用于哪種文檔類型,默認是ENT_COMPAT | ENT_HTML401。$encoding一個規定了要使用的字符集的字符串,默認是ISO-8859-1。
如:
<?php var_dump ( get_html_translation_table ( HTML_ENTITIES , ENT_QUOTES | ENT_HTML5 ));
輸出:
5,阿薩德
到此,相信大家對“php string如何轉為html”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。