すでにそこにあるエンティティコードを使用してデータを返すように見えるサードパーティAPIを使用しています。例えば、The Lion’s Pride
。PHPエンティティでまだエスケープされていない場合は、文字列をエスケープします。
APIから文字列をそのまま印刷すると、ブラウザでうまく表示されます(上の例ではアポストロフィで表示されます)。しかし、私はAPIが将来、常にエンティティを使用するとは信じられないので、印刷する前にhtmlentities
やhtmlspecialchars
のようなものを使いたいと思っています。この問題は、エンティティコード内のアンパサンドを再度エンコードし、最終結果がユーザーフレンドリーなものを表示しないHTMLソースのThe Lion’s Pride
になります。
htmlentities
またはhtmlspecialchars
は、文字列でまだ使用されていない場合のみ使用できますか?エンティティがすでに文字列に存在するかどうかを検出する組み込みの方法はありますか?