私のウェブサイトにはÂという文字で問題があります。PHP:html_entity_decode文字を削除する/表示しない
私は、ユーザーがwysiwygエディタ(ckeditor)を使用してプロフィールを記入できるウェブサイトを持っています。コンテンツは、セキュリティ上の理由から、htmlpurifyを介してデータベースに格納されます。
データベースには、すべてのテーブルがUTF-8文字セットで設定されています。私はまた、スクリプトの実行の冒頭に「SET NAMES utf-8」と呼んで問題が発生しないようにしています。テキストが表示されるWebページには、content-typeがutf-8で、header()関数を使用してcontent-typeとcharsetも設定します。
テキストを表示するときに、コンテンツで正規表現を実行しようとするまでは、すべてうまく見えました。 html_entity_decode( 'utf-8'のエンコーディングパラメータで呼び出されました)は何らかの理由でÂ文字を表示していない/表示していないので、すべての正規表現が失敗する原因が残っています(文字はありますが、それをソースで見る)。
正規表現を実行できるように、この文字を防止または削除するにはどうすればよいですか?
編集:私はckeditorを放棄し、このサイトのようにマークダウン形式を使用することで、より柔軟性を持たせることにしました。私が覚えている限り、私はエディタを嫌っていました。すべてのプロファイルを新しい形式に更新すると、問題のテキストをすべて削除してサイトをクリーンな状態に戻すことができます。すべての入力をありがとう。
:?これを避けるには、常にマルチバイト(ユニコード)をサポートしてい
mb_ereg_replace
を使用して試すことができますか –空の段落タグを削除しています。何らかの理由で、ユーザーは編集時に余分な行を追加して、ウェブサイトを恐ろしく見えるようにします。それは、空白および/またはnbspだけで段落タグを削除する必要があります。エンティティ。例:http://dev.lovewichita.org/church/profile/25.html – kkeith29
+1教会を助けるために+1 – ANisus