我有一个字符串
$str = <<<EOT
<pif key="p1" value="P1">
p1=P1 aa
</pif>
<pif key="p1" value="P2">
p1=P2 bb
</pif>
EOT;
现在我数组$arr=('<pif key="p1" value="P1">','<pif key="p1" value="P2">');是这样的
那么我该如何匹配字符串中相同的标签。各位很急啊,谢谢啦
$str = <<<EOT
<pif key="p1" value="P1">
p1=P1 aa
</pif>
<pif key="p1" value="P2">
p1=P2 bb
</pif>
EOT;
现在我数组$arr=('<pif key="p1" value="P1">','<pif key="p1" value="P2">');是这样的
那么我该如何匹配字符串中相同的标签。各位很急啊,谢谢啦
$str = <<<EOT
1111
<pif key="p9" value="a-a">
p9=a-a
</pif>
2222
<pif key="p1" value="P1">
p1=P1
</pif>
3333
<pif key="p2" value="P2">
p2=P2
</pif>
444
<pif key="p2" value="P2">
p2=P2
</pif>
555
EOT;
$param=array("p1"=>"P1","p2"=>"P2");foreach($param as $key=>$value)
{
$str = preg_replace('#(.*?)<pif[\s]+key\="'.$key.'"[\s]+value\="'.$value.'"\>(.+?)<\/pif>(.*?)#s',"\\1\\2\\3",$str );
}$str = preg_replace('#(.*?)<pif[\s]+key\="(.*?)"[\s]+value\="(.*?)"\>(.+?)<\/pif>(.*?)#s',"\\1\\5",$str );
echo $str;
?>
弄好了,哎正则太复杂了。