如何在消费饲料时去除奇怪的字符?

时间:2010-10-14 14:09:09

标签: php xml regex rss

我同时消耗了几个Feed并组装了一个Feed。当抓取并“清理”特定标签的描述时,我会发现子弹字符,我不能在生命中从输出中“删除”。

执行一个简单的str_replace来查找(就像那个,而不是li或ascii值)字符对我来说什么都不做。我在挠头,想知道为什么会这样?这似乎不是编码问题,只是以非ascii安全格式发送的项目符号。

有人碰到这个吗?您无法识别或删除的角色?

以下是一些示例文字:

Required Qualifications:
•BSME or equivalent four year degree
•Minimum four years in blahblah industry experience

以上是我希望清理的描述示例(希望用-替换子弹,但只会将其删除。

想法?

编辑-------

根据反馈,这里有一些额外的细节。这个角色就像一样。我怀疑这是一个编码问题,因为这个特定的位置将这个数据集输出到HTML(带有详细信息的网页)或XML提要(描述字段中的打包的html标签)。

我使用xml2array(php)使用多个xml提要。我以前没有任何问题。我很确定它是UTF-8,只是子弹来了。

为了组装feed,我构建了自己的数组服务器端,一旦我将其他feed中的正确值关联起来,我就输出最终的'built'xml feed(然后我会使用内部app)。

消耗多个来源的原因?数据中的差距不是1格式的。

更多编辑-------

好的看起来这是一个编码问题,但我还没有删除项目符号。我使用utf8_encode进行转换,但是我得到的奇怪符号没有相同的复制,所以我得到类似â[]¢的内容。

我再次做xml2array(URL)之类的事情,它将XML @ url转换为数组,然后简单地从构建数组中获取数据。

3 个答案:

答案 0 :(得分:2)

该字符的html代码为•,数字代码为•。可以尝试搜索那些

顺便说一句:也许preg_replace()会做的伎俩

$str2 = preg_replace("/•/", "", $str);

答案 1 :(得分:0)

如果Feed包含文字项目符号,请检查 PHP文件的编码是否与Feed的编码匹配。否则str_replace将遗漏该字符。

答案 2 :(得分:0)

尝试preg_replace并搜索\u2022

2022是子弹角色的unicode代码点。