0

小さなスニペットを使用して の内部テキスト<title>を取得し、Web サイトのタイトルを取得します。これは非常にうまく機能します。しかし、ウムラウトやその他の html 文字には問題があります。最初は を使ってみhtmlentities()たのですが、ウェブサイトのウムラウトの埋め込み方はいろいろあるので、かなり複雑になってきました。

たとえば、最新のブラウザーでは、ソースコード lik にプレーンテキストとして記述しても問題ありませんが、古いブラウザーもサポートするä ö üために、それらを html エンティティとして使用したいと考えています。&auml; &ouml; &uuml;

というわけで、本当の問題は、このタイトルのように両方が混在している場合です (ソース コード) Pläne: Alkoholverbot für 18-Jährige? &gt; Online Zeitung

使用しようとするとhtmlentities()、結果はPl&auml;ne: Alkoholverbot f&uuml;r 18-J&auml;hrige? &amp;gt; Online Zeitung. になる " > " を除いて、すべてがうまく変換されます&amp;gt;

メソッドを使用するstr_replace()必要がありますか、または混合 html エンティティを処理するための他のベスト プラクティスはありますか?

どうも

4

1 に答える 1

1

最初に を使用してすべてのエンティティを Unicode 表現にデコードしhtml_entity_decode()、次に文字列を に渡してhtmlentities()すべてを再度エンコードします。

于 2013-07-22T10:25:39.740 に答える