RegEx:替换文本:s-tags

时间:2014-11-01 01:11:50

标签: php regex

我尝试用空格替换这些标签的所有变体:

<text:s></text:s>
<text:s/>
<text:s anyattributes/>

<text:span>不应受到影响。

preg_replace("/<\\/?text:s(\\s+.*?>|>)/", " ", $string);

我做错了什么?

1 个答案:

答案 0 :(得分:1)

使用以下正则表达式并将匹配替换为空格。

<\/?text:s\b[^<>]*>

代码将是,

preg_replace("~<\/?text:s\b[^<>]*>~", " ", $string);

DEMO

\b字边界可帮助您完成工作。由于\b匹配单词和非单词字符,因此上述正则表达式与字符串<text:span>不匹配,因为s和{{1}之间不存在单词边界}}