9

TinyMCE のカスタマイズされた実装を使用して、ユーザーが投稿できるサイト (フォーラム、コメントなど) があります。彼らの多くは、Word からコピー & ペーストすることを好みます。つまり、彼らの入力には、多くの関連する MS インライン フォーマットが含まれていることがよくあります。

TinyMCE は書式設定の一部で span タグに依存しているため、単に取り除くことは<span whatever>できません。ユーザーに TinyMCE の「Word から貼り付け」機能を使用するように強制することはできません (また、そうしたくありません)。とにかくうまく機能しているようです)。

これを処理してくれるライブラリ/クラス/関数を知っている人はいますか? 決定的なものは見つかりませんが、それは一般的な問題に違いありません。私は最近、MS 固有のパターンを探す一連のブルート フォース正規表現でうまくいくかもしれないと考えていましたが、必要がない限り、既に利用可能なものを書き直したくありません。

また、カーリー クォート、EM ダッシュなどを修正するとよいでしょう。私は今、これを行う独自のものを持っていますが、それらすべてを支配する 1 つの MS 変換フィルターを見つけたいだけです。

4

4 に答える 4

7

HTML Purifierは、標準に準拠したマークアップを作成し、考えられる多くの攻撃 (XSS など) を除外します。

XSS フィルタリングを必要としないクリーンアップを高速化するために、 Tidy HTMLユーティリティのバインディングであるPECL 拡張Tidyを使用します。

それでも解決しない場合は、この機能が組み込まれている FCKEditor に切り替えることをお勧めします。

于 2008-12-18T21:39:26.990 に答える
0

私の場合、パターンがありました。不要な部分は常に

<!-- [if gte mso 9]>

で終わり、

<![endif]-->

したがって、私の解決策は、このブロックの前後のすべてを切り取ることでした:

$array = explode("<!-", $string, 2);
$begin = $array[0];
$end=substr(strrchr($string,'[endif]-->'),10);
echo $begin.$end;
于 2016-05-17T19:14:55.417 に答える