抓住网站标题并改变变音符号

时间:2013-07-22 10:18:58

标签: php encoding

我使用一个小片段来获取<title>的innertext以获取网站的标题,这非常有效。 但是变音符号和其他html字符存在问题。首先我尝试使用htmlentities(),但由于网站嵌入变音符号有多种方式,因此变得非常复杂。

E.g。在现代浏览器中,可以在源代码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。一切都转好了,除了“&gt; ”,它变成了&amp;gt;

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

THX

1 个答案:

答案 0 :(得分:1)

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