10

いくつかのサイトをスクレイピングしていますが、DB に保存するためにプレーン テキストに変換したい 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 プレーンテキストに変換したいように見えることに注意してください。

  • この例は、すべての ASCII 文字 (つまり、128 未満の文字コード) の ASCII 互換文字エンコーディングであるUTF-8に変換します。本当に単純な ASCII が必要な場合 (つまり、アクセント付きの文字や外国語の文字がすべて失われる場合)、問題のあるすべての文字を個別に削除する必要があります。

  • デフォルト値は PHP 5.4.0 から変更されているため、最後の引数 ('UTF-8') は、異なる PHP バージョンとの互換性を維持するために必要です。

更新: ideone のテキストを使用した例

Update2: @Daan の提案により、ENT_COMPAT を ENT_QUOTES に変更しました。

于 2012-05-15T07:31:02.903 に答える