查找特定标签之间所有空格字符的出现

时间:2016-07-14 15:50:28

标签: regex

我有一个像这样的字符串

"<content>    </content><p>some content</p><content>     </content>"

我在第一个内容标记和第二个内容标记之间的5个空格字符之间添加了4个空格字符。所以总共有9个空格字符。

我想要一个正则表达式,它将完全匹配内容标记之间的所有空格字符。

我试过这个

/<content> +<\/content>/g

但这给了我2场比赛。我希望9个空格字符有9个匹配。正则表达式是什么?

2 个答案:

答案 0 :(得分:0)

它给你2个匹配,因为有两个<content>标签(打开和关闭),中间有空格。

您需要的是:

for (/<content>( +)<\/content>/g) {
    print length $1;
}

这将捕获标签之间的空格并打印出该字符串的长度(实质上是空格数)。

答案 1 :(得分:0)

  

我想使用php的preg_replace替换中的空格字符   内容标签

我认为只有preg_replace才能做到这一点。我建议:

$str = "<content>    </content><p>some content</p><content>     </content>";
$str = preg_replace_callback('-<content>.*?</content>-',
                             function($found)
                             { return str_replace(' ', 'TOK', $found[0]); },
                             $str
                            );