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