10

我正在抓取一些网站,并且有 ASCII 文本,我想将其转换为纯文本以存储在数据库中。例如我想要

I have got to tell anyone who will listen that this is
one of THE best adventure movies I've ever seen.
It's almost impossible to convey how pumped I am
now that I've seen it.

转换成

I have got to tell anyone who will listen that this is
one of THE best adventure movies I've ever seen. It's
almost impossible to convey how pumped I am now that
I've seen it.

我用谷歌搜索了我的手指血腥,有什么帮助吗?

4

1 回答 1

24

您可以使用html_entity_decode

echo html_entity_decode('...', ENT_QUOTES, 'UTF-8');

几点注意事项:

  • 请注意,看起来您实际上想要从 HTML 编码的字符串(带有类似 的实体)转换为 ASCII AKA 纯文本。

  • 此示例转换为UTF-8,这是所有 ASCII 字符(即低于 128 的字符代码)的 ASCII 兼容字符编码。如果您真的想要纯 ASCII(从而丢失所有重音字符和外语字符),您应该分别删除所有有问题的字符。

  • 最后一个参数('UTF-8')对于保持与不同 PHP 版本的兼容性是必要的,因为自 PHP 5.4.0 以来默认值已更改。

更新:ideone 中的文本示例

更新 2:根据@Daan 的建议将 ENT_COMPAT 更改为 ENT_QUOTES。

于 2012-05-15T07:31:02.903 回答