上一篇文章中我们了解了HTML实体转换为字符的方法,有需要的请看《<?php $str = "candy & 'Timi'"; echo htmlentities($str, ENT_COMPAT); echo "<br>"; echo htmlentities($str, ENT_QUOTES); echo "<br>"; echo htmlentities($str, ENT_NOQUOTES); ?>

上面代码的 HTML 输出如下:

<!DOCTYPE html>
<html>
<body>
Jane &amp; 'Tarzan'<br>
Jane &amp; &#039;Tarzan&#039;<br>
Jane &amp; 'Tarzan'
</body>
</html>

上面代码的浏览器输出如下:

24~YRU$A4PBKQBXG[~J@S(G.png

我们可以看这个小案例,它使用了htmlentities函数将字符转换为HTML实体。但是看看函数的参数,发现这些参数并不相同,这不同的参数都是什么意思呢?现在就来具体看看吧。

看看这个函数的语法。

htmlentities(string,flags,character-set,double_encode)

ZY(}`P6%C0EAYYBY_{NOV]7.png

需要注意的是:

htmlentities()使用的翻译表需要用get_html_translation_table()函数来返回。、

这第一种方法介绍完了,我们就来看第二种方法吧。

第二种、htmlspecialchars()函数

首先来看一个小例子。

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

上面代码的 HTML 输出如下:

<!DOCTYPE html>
<html>
<body>
This is some &lt;b&gt;bold&lt;/b&gt; text.
</body>
</html>

结果是

S8FPP[~$5AEGG]9NGUPWEU0.png

当我们看到b标签的时候,是不是就知道了这个小例子的结果。是的,结果如我们所想bold这个单词被加粗了。当然这个小例子它用了htmlspecialchars函数,将字符转换为预定义好的HTML实体。

下面就让我们仔细了解一下吧。

htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。

预定义的字符是:

  • & (和号)成为 &amp;

  • ” (双引号)成为 &quot;

  • ‘ (单引号)成为 ‘

  • < (小于)成为 &lt;

  • > (大于)成为 &gt;

这个函数的语法格式是

htmlspecialchars(string,flags,character-set,double_encode)

KLLY3`%AA(WUT$8@NN[[~PU.png

就说到这里了,有其他想知道的,可以点击这个哦。→ →亿码酷站直播班-->字符如何通过函数成为html实体
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除

云服务器推荐