我正在使用preg_replace找到2个相应的单词然后切换它们的位置。我想检查两个相应的单词是否为:
<span style="color: green;"> </span>,
然后while循环不起作用。我尝试了很多模式但不能写出正确的模式。我使用的那个是:
if(!preg_match ('~<span style="color: green;"></span>~', $myinput))
但它不按我想要的方式工作。您可以在此链接中查看我的完整代码:http://sandbox.onlinephpfunctions.com/code/bf21f671ef7fcaaabad063fe235383550df0a59e
答案 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 *,因为它们之间有空格。