Heim >Backend-Entwicklung >PHP-Tutorial >求一个正则 $Row=10 转 Row="10"

求一个正则 $Row=10 转 Row="10"

WBOY
WBOYOriginal
2016-06-23 13:28:34712Durchsuche



变成



或 


变成



或 


变成




三处必须:

qlist:后边的 m或m2 是可能会变的 这里要保持替换前后一致
listname="xxx" 就是上方冒号后的内容 必须存在
中间的其他部分 是多种多样的 需要把格式  $aaa=bbb 全转成 aaa="bbb" 格式 有就转 没有就算 允许不填 


回复讨论(解决方案)

$s = '<qlist:m  $Row=10 $table=Channel $Where=[FatherID]=0 ><qlist:m2  $Row=10   ><qlist:m3>';echo preg_replace(  array('/<qlist:(\w+)/', '/(\$Row=)(\d+)/'),  array('$0 listname="$1"', '$1"$2"'),  $s);
<qlist:m listname="m"  $Row="10" $table=Channel $Where=[FatherID]=0 ><qlist:m2 listname="m2"  $Row="10"   ><qlist:m3 listname="m3">

$s = '<qlist:m  $Row=10 $table=Channel $Where=[FatherID]=0 ><qlist:m2  $Row=10   ><qlist:m3>';echo preg_replace(  array('/<qlist:(\w+)/', '/(\$Row=)(\d+)/'),  array('$0 listname="$1"', '$1"$2"'),  $s);
<qlist:m listname="m"  $Row="10" $table=Channel $Where=[FatherID]=0 ><qlist:m2 listname="m2"  $Row="10"   ><qlist:m3 listname="m3">




$table=Channel $Where=[FatherID]=0 

这部分没有加上 双引号呢 得这样 麻烦大神再看看 谢谢

<?php$s = '<qlist:m  $Row=10 $table=Channel $Where=[FatherID]=0 ><qlist:m2  $Row=10   ><qlist:m3>'; echo preg_replace(  array('/<qlist:(\w+)/', '/\$(Row=)(\d+)/', '/\$(table=)(\w+)/','/\$(Where=)(\[(\w+)\]=)(\d+)/'),  array('$0 listname="$1"', '$1"$2"', '$1"$2"', '$1"$2$4"'),  $s);?>





Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn