0

我使用一个小片段来获取<title>网站的内部文本,效果很好。但是变音符号和其他 html 字符存在问题。首先我尝试使用htmlentities(),但由于网站嵌入变音符号的方式有很多种,因此变得相当复杂。

例如,在现代浏览器中,可以在源代码 lik 中将它们写为纯文本ä ö ü,但我也想将它们用作 html 实体&auml; &ouml; &uuml;来支持旧版浏览器。

所以,真正的问题是,当两者都像这个标题一样混合在一起时(源代码)Pläne: Alkoholverbot für 18-Jährige? &gt; Online Zeitung

当我尝试使用htmlentities()结果是Pl&auml;ne: Alkoholverbot f&uuml;r 18-J&auml;hrige? &amp;gt; Online Zeitung. 一切都转换得很好,除了“ > ”变成了&amp;gt;

我必须使用一种str_replace()方法还是有其他最佳实践来处理混合 html 实体?

谢谢

4

1 回答 1

1

首先使用 将所有实体解码为其 Unicode 表示html_entity_decode(),然后将字符串传递给以htmlentities()重新编码所有实体。

于 2013-07-22T10:25:39.740 回答