使用preg_match查找php中的preg_replace正在替换哪个组

时间:2015-10-27 19:00:10

标签: php preg-match

我正在使用preg_replace找到2个相应的单词然后切换它们的位置。我想检查两个相应的单词是否为:

<span style="color: green;"> </span>,

然后while循环不起作用。我尝试了很多模式但不能写出正确的模式。我使用的那个是:

if(!preg_match ('~<span style="color: green;"></span>~', $myinput))

但它不按我想要的方式工作。您可以在此链接中查看我的完整代码:http://sandbox.onlinephpfunctions.com/code/bf21f671ef7fcaaabad063fe235383550df0a59e

2 个答案:

答案 0 :(得分:0)

这里的问题是你所拥有的空间

<span style="color: green;"> </span>,
                            ^

并且您的模式不包含它。

if(!preg_match ('~<span style="color: green;"></span>~', $myinput))

您需要将其添加到:

if(!preg_match ('~<span style="color: green;"> </span>~', $myinput))

假设:

$myinput = '<span style="color: green;"> </span>,';

我的测试代码并使用if(preg_match代替if(!preg_match

<?php 

$myinput = '<span style="color: green;"> </span>,';

if(preg_match ('~<span style="color: green;"> </span>~', $myinput))
{
   echo "Found.";
}

else{
   echo "Not found.";
}

答案 1 :(得分:0)

我做到了。我在span的开始和结束标记之间使用了\ s *,因为它们之间有空格。