我需要从使用Curl和simplehtml dom解析的网站中删除所有狡猾的html字符。
<?php
$html = "this is a text";
var_dump($html);
var_dump(html_entity_decode($html,ENT_COMPAT,"UTF-8"));
哪个输出
string(19)“这是一个文本”
string(15)“这是一个文本”
我不想使用preg *,因为文本中还有其他字符(例如&amp; deg)。 这让我疯了!
谢谢, 詹姆斯
答案 0 :(得分:3)
您需要使用标题指定输出编码:
<?php
header('Content-Type: text/html; charset=utf-8');
$html = "this is a text";
var_dump($html);
var_dump(html_entity_decode($html,ENT_COMPAT,"UTF-8"));
?>
默认情况下,浏览器不会采用UTF-8,这就是显示错误字符的原因。
答案 1 :(得分:1)
如果这是唯一需要替换的角色,请使用str_replace()
var_dump(str_replace(' ', ' ', "this is a text"));