-3

我有一个用户生成的HTML有效文本,我需要在其中查找和替换html 标签内的所有空格。请不要问我为什么,我只是在寻找能够找到HTML标记之间<的所有空格>的正则表达式。

4

3 回答 3

1

我建议你永远不要使用 Regex 来解析 HTML。

HTMLAgilityPack看看: Html 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 回答