将“”字符解析为空格

时间:2013-05-01 14:32:16

标签: php string preg-match-all

我正在为客户开发一个项目,我需要从旧版HTML页面解析数据,以提高存储效率。数据以这种基本格式显示,在一行上有多个键/值对。

 Key1: Value1 Key2: Value2...

我可以使用preg_match_all('/\w+:\s+\S+/', $line, $items)

获得95%的记录

我遇到的问题是少数几行包含这样的文字:

 Key1: Value1 Key2: Value2

在这种情况下,我的脚本会显示Value1 = Value1 Key2:

我尝试使用 html_entity_decode($line)替换str_replace(' ', ' ', $line)字符串。对于这两者,我在输出中仍然有 个字符,并且字符串未正确解析。

我要解析的页面是WordPress页面。检查页面的wp_post记录显示 字符串存储在数据库中。我相信这些页面是通过MS_Access的导出填充的。在我的脚本中,我已将$line的父级传递给$strip_tags()

有没有可靠的方法来消除/过滤/替换此 字符串?

1 个答案:

答案 0 :(得分:1)

在这一天,我一直在靠墙撞墙,终于找到了答案。我测试了其他人给出的每个答案。没有工作。 -1适合所有人!

 作为Unicode字符串存储在数据库中。它仅在浏览器中呈现时显示为 。这将删除它。

$line = str_replace("\xC2\xA0", " ", $line);