php 正规替换的结果怎么位移
Libérer: 2016-06-23 13:52:02
original
718 Les gens l'ont consulté
$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"; }
Copier après la connexion
//得到的结果
***********************************************************************************************************
>
>
>
***********************************************************************************************************
想要的结果
***********************************************************************************************************
***********************************************************************************************************
***********************************************************************************************************
***********************************************************************************************************
回复讨论(解决方案)
没有看出两个结果的区别!
$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; }
Copier après la connexion
Copier après la connexion
$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; }
Copier après la connexion
Copier après la connexion
追问一下:如果我的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; }
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn