-3

ユーザーが生成したHTMLの有効なテキストがあり、 html タグのすべてのスペースを見つけて置き換える必要があります。理由は聞かないでください。HTMLタグの<>の間のすべてのスペースを検索する正規表現を探しているだけです。

4

3 に答える 3

1

HTMLの解析に正規表現を使用しないことをお勧めします。

見てみましょうHTMLAgilityPackHtml Agility Pack

于 2013-01-16T11:48:04.667 に答える
1

これは、コールバック関数で実行できます。PHP の例 (バージョン >= 5.3)

echo preg_replace_callback(
    '~<(.*?)>~s', 
    function ($match) {
        return '<' . str_replace(' ', 'your_replacement', $match[1]) . '>';
    },
    $str
);
于 2013-01-16T12:59:14.593 に答える
0

正規表現ソリューションを待っている間に、次の爆発内破ソリューションを作成しました。

$tags_split_array = explode("<", $htmltext);
foreach($tags_split_array as $key => $tagpart) {
    $tagpart_array = explode(">", $tagpart);
    $tagpart_array[0] = str_replace(" ", "ψ", $tagpart_array[0]);
    $tags_split_array[$key] = implode(">", $tagpart_array);
}
$htmltext= implode("<", $tags_split_array);

それでも、正規表現のソリューションの方がはるかに優れているので、それを使用します。

于 2013-01-16T13:39:25.230 に答える