我同时消耗了几个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转换为数组,然后简单地从构建数组中获取数据。
答案 0 :(得分:2)
该字符的html代码为•
,数字代码为•
。可以尝试搜索那些
顺便说一句:也许preg_replace()会做的伎俩
$str2 = preg_replace("/•/", "", $str);
答案 1 :(得分:0)
如果Feed包含文字项目符号,请检查 PHP文件的编码是否与Feed的编码匹配。否则str_replace
将遗漏该字符。
答案 2 :(得分:0)
尝试preg_replace
并搜索\u2022
2022是子弹角色的unicode代码点。