我有一个用户生成的 HTML 有效文本,我需要在其中查找并替换所有内部 html标记的空格。请不要问我为什么,我只是在寻找找到 HTML 标签的<
和>
之间所有空格的正则表达式。
答案 0 :(得分:1)
我建议你永远不要使用Regex来解析HTML。
让HTMLAgilityPack
查看: Html Agility Pack
答案 1 :(得分:1)
可以使用回调函数完成。 PHP示例(版本&gt; = 5.3)
echo preg_replace_callback(
'~<(.*?)>~s',
function ($match) {
return '<' . str_replace(' ', 'your_replacement', $match[1]) . '>';
},
$str
);
答案 2 :(得分: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);
但仍然是正则表达式解决方案要好得多,所以我会使用它。