我尝试用空格替换这些标签的所有变体:
<text:s></text:s>
<text:s/>
<text:s anyattributes/>
但<text:span>
不应受到影响。
preg_replace("/<\\/?text:s(\\s+.*?>|>)/", " ", $string);
我做错了什么?
答案 0 :(得分:1)
使用以下正则表达式并将匹配替换为空格。
<\/?text:s\b[^<>]*>
代码将是,
preg_replace("~<\/?text:s\b[^<>]*>~", " ", $string);
\b
字边界可帮助您完成工作。由于\b
匹配单词和非单词字符,因此上述正则表达式与字符串<text:span>
不匹配,因为s
和{{1}之间不存在单词边界}}