PHP如何从字符串

问题描述:

我使用的file_get_contents *删除邪恶人物*得到一些远程文本,文本中包含左/右双引号的文本,如“Green Slime”PHP如何从字符串

* *的file_get_contents返回该文本为�Green Slime�

寻找在远程数据源,所述“”字符是文字​​,而不是实体的代码。源中没有字符集定义。

有没有可以添加到* file_get_contents *以更正此问题的上下文?如果没有,我怎样才能* str_replace *这些字符?

编辑:明显的解决方案,如ヶ辆()和str_replace()函数不工作。使用cURL时,我也会得到相同的字符。

+0

htmlentities怎么样?我不确定。你尝试过吗? – Voooza 2012-03-10 16:40:59

我用ord()来确定这些字符是chr(147)和chr(148),然后使用str_replace(Chr(147), "&#147", $str)

不知道为什么两者的file_get_contents和卷曲在无法显示在浏览器的方式返回此内容。

将这个马上head标签下:

<meta charset="utf-8"> 
+0

你假设提问者对文件有*任何*控制... – 2012-03-10 16:34:11

+0

我已经在我的页面中拥有该文件。我无法更改远程页面。 – user191688 2012-03-10 16:34:59

+1

您可以使用字符串替换器,然后用其他字符替换这些括号,例如:$ s = str_replace(''',''',$ s); echo $ s; – sm13294 2012-03-10 16:40:05

查找到utf8_decode /编码功能

+0

UTF-8不是唯一的charset这些引号。 – 2012-03-10 16:35:15

HTML实体。

http://php.net/manual/en/function.htmlentities.php

这将解决你的问题和解决的输出。

+0

htmlentities不会转换它们。 – user191688 2012-03-10 17:46:43