Home  >  Article  >  Backend Development  >  How to convert php string to html

How to convert php string to html

藏色散人
藏色散人Original
2021-09-02 09:46:342924browse

php string转为html的方法:1、通过htmlentities()将字符串中特殊字符转化为html实体;2、通过htmlspecialchars()函数将字符串中特殊字符转化为html实体。

How to convert php string to 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 & &#39;Steve&#39;";
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 &amp; 'Steve'0c6dc11e160d3b678d68754cc175188aBill &amp; &#039;Steve&#039;0c6dc11e160d3b678d68754cc175188aBill &amp; 'Steve'
<?php
$str = "Bill & &#39;Steve&#39;";
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 & &#039;Steve&#039;0c6dc11e160d3b678d68754cc175188aBill & 'Steve'0c6dc11e160d3b678d68754cc175188aBill & &#039;Steve&#039;

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 a4b561c25d9afb9ac8dc4d70affff419bold0d36329ec37a2cc24d42c7229b69747a text

源代码如下:

This is some a4b561c25d9afb9ac8dc4d70affff419bold0d36329ec37a2cc24d42c7229b69747a text076402276aae5dbec7f672f8f4e5cc81This is some &lt;b&gt;bold&lt;/b&gt; text
htmlspecialchars()函数可以转换的字符列表以及最终转换格式如下:&=>&amp;"(双引号)=>&quot;'(单引号)=>&#039;96b4fef55684b9312718d5de63fb7121&lt;>=>&gt;注:要防止用户向一个交互式web应用程序中输入HTML标签,这个函数尤为有用。以下例子使用htmlspecialchars()来转换可能有害的字符:
<?php
$input = "I just can&#39;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 a4b561c25d9afb9ac8dc4d70affff419bold0d36329ec37a2cc24d42c7229b69747a text.
This is some bold text.

源代码:

This is some &lt;b&gt;bold&lt;/b&gt; text.076402276aae5dbec7f672f8f4e5cc81This is some a4b561c25d9afb9ac8dc4d70affff419bold0d36329ec37a2cc24d42c7229b69747a text.

3,strip_tags()函数,从字符串中移除空字符,HTML和PHP标记,将html转化为纯文本。

string strip_tags(string $str,string $allowable_tags) 

$str,待处理字符串,$allowable_tags指定不被去除的字符列表。

如:

<?php
$text  =  &#39;<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>&#39; ;
echo  strip_tags ( $text );
echo  "\n" ;

// 允许 <p> 和 <a>
echo  strip_tags ( $text ,  &#39;<p><a>&#39; );

输出:

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视频教程

The above is the detailed content of How to convert php string to html. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn