0

通常、Web サイトのユーザーは Word または他の rte からテキストをコピーして貼り付けます。私は PHP で次のコード行を使用して、ユーザーが入力したテキスト コンテンツをテキスト領域から消去します。

$text= preg_replace('/style=\"[^\"]*/', '', $text); 

この行は、タグ自体を削除せずに html タグからすべてのスタイルを削除するため、CSS ファイルを使用して適切な方法でスタイルを設定できます。
今、私は有効なままにしておく必要がありstyle="background:#99ff99;"ます。
これは、私自身がテキストに追加するスタイルです。すべてのタグを消去するときに
考慮しないように正規表現に指示するにはどうすればよいですか? background:#99ff99どんな助けでも大歓迎です。
ありがとうございました

4

1 に答える 1

0

1 つの解決策として、 preg_replace_callback($pattern,$callback,$subject,...) の使用が含まれる場合があります。

そのようなものはうまくいくはずです:

$text = preg_replace_callback(
    '/style=\"[^\"]*/',
    function ($matches) {
        return ($matches[0] == 'style="background:#99ff99;"'?$matches[0]:'');
    },
    $text
);
于 2013-07-12T11:06:34.643 に答える