我需要一个正则表达式来捕获文本周围的< strong >
和< /strong >
< strong > text < /strong >
,但我想避免删除< strong >
中间的文本和< /strong >
基本上是在
之后preg_replace($expression, "", "<strong>STRONG</strong>");
只会在没有STRONG
和< strong >
< /strong >
我目前有:
<\w*>\w*<\/\w*>
然而;这样也能抓住标签上的文字。
答案 0 :(得分:1)
您可以使用此正则表达式:
<\/?strong>
命令:
preg_replace("/<\/?strong>/", "", "<strong>Hello</strong>");
答案 1 :(得分:0)
您可以捕获您不想在捕获组中删除的文本:
<\w*>(\w*)</\w*>
并替换为$1
以避免删除捕获的文本。
或者,您可以使用模式
</?\w*>
仅匹配开始和结束标记,中间没有文本。但是,这也会删除没有相应开/关标签的杂散标签。
答案 2 :(得分:0)
如果你只想剥开强力的开始和结束标签那么这应该足够了:
$out = preg_replace(array('$\\<\s?strong\s?\\>$si', '$\\</\s?strong\s?\\>$si'), '', "<strong>STRONG</strong>");