【发布时间】:2014-07-08 03:27:25
【问题描述】:
我已经搜索和搜索,但由于某种原因我找不到任何解决方案。
这是我目前的文字:
Lorem ipsum <strong>dolor</strong> sit <i>amet</i>.
这就是我想要的:
Lorem ipsum sit.
我不想使用 HTML 解析器。我只想使用一个简单的正则表达式来删除 HTML 标记及其内部内容。
【问题讨论】:
我已经搜索和搜索,但由于某种原因我找不到任何解决方案。
这是我目前的文字:
Lorem ipsum <strong>dolor</strong> sit <i>amet</i>.
这就是我想要的:
Lorem ipsum sit.
我不想使用 HTML 解析器。我只想使用一个简单的正则表达式来删除 HTML 标记及其内部内容。
【问题讨论】:
与全局标志一起使用的正则表达式将匹配 html-tags 和 html-tags 中的文本。
<[\/\!]*?[^<>]*?>[A-Za-z0-9.,;:]*<[\/\!]*?[^<>]*?>
【讨论】:
strip_tags 只是展开内容。我也希望内容消失。
虽然@Tommy 的回答对您有用,但regex 对于您想要做的事情来说实在是太复杂了。 你可以这样做:
$str = "Lorem ipsum <strong>dolor</strong> sit <i>amet</i>.";
$r = preg_replace("/ <\S*>/", "", $str);
echo $r;
#=> Lorem ipsum sit.
【讨论】:
preg_replace('/(<.*?>)|(&.*?;)/', '', $string)
这个对我来说效果很好。它去除了所有的 HTML 标记和特殊的 HTML 字符。希望这会有所帮助。
【讨论】: