php 正规替换的结果怎么位移
Freigeben: 2016-06-23 13:52:02
Original
718 Leute haben es durchsucht
$str='<div _data="111"></div><div _data="222"></div><div _data="333"></div>';$a=preg_replace('/\_data=[\"|\']([a-zA-Z0-9\_]+)([\s\"\']*)/eis', "data_array('\\1')", $str);die($a);function data_array($key){ $code=add_div("$key"); return "$code"; }function add_div($v){ $value="<div id=\"$v\"></div>"; return "$value"; }
Nach dem Login kopieren
//得到的结果
***********************************************************************************************************
>
>
>
***********************************************************************************************************
想要的结果
***********************************************************************************************************
***********************************************************************************************************
***********************************************************************************************************
***********************************************************************************************************
回复讨论(解决方案)
没有看出两个结果的区别!
$a=preg_replace('/\s+\_data=[\"|\']([a-zA-Z0-9\_]+)([\s\"\']*)>/eis', "data_array('\\1')", $str);die($a); function data_array($key){ $code=add_div($key); return $code; } function add_div($v){ $value="><div id=\"$v\"></div>"; return $value; }
Nach dem Login kopieren
Nach dem Login kopieren
$a=preg_replace('/\s+\_data=[\"|\']([a-zA-Z0-9\_]+)([\s\"\']*)>/eis', "data_array('\\1')", $str);die($a); function data_array($key){ $code=add_div($key); return $code; } function add_div($v){ $value="><div id=\"$v\"></div>"; return $value; }
Nach dem Login kopieren
Nach dem Login kopieren
追问一下:如果我的html是这个形式,应该怎么改下
$str='
';
想要的结果
***********************************************************************************************************
***********************************************************************************************************
$str='<div _data="111" class="aaa"></div><div _data="222" class="bbb"></div><p _data="333" class="ccc"></p>';$a=preg_replace_callback('/<(\w+)\s+\_data=[\"|\']([a-zA-Z0-9\_]+)([\s\"\']*)\s*class="(.+?)"><\/\1>/is', "data_array", $str);die($a); function data_array($key){ $code=add_div($key[4], $key[2]); return $code; } function add_div($class, $id){ $value="<div class=\"$class\"><div id=\"$id\"></div></div>"; return $value; }
Nach dem Login kopieren
Erklärung dieser Website
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