php 正规替换的结果如何位移?
php 正规替换的结果怎么位移??
//得到的结果
***********************************************************************************************************
<div <div id="111"></div>></div>
<div <div id="222"></div>></div>
<div <div id="333"></div>></div>
***********************************************************************************************************
想要的结果
***********************************************************************************************************
***********************************************************************************************************
<div><div id="111"></div></div>
<div><div id="222"></div></div>
<div><div id="333"></div></div>
***********************************************************************************************************
***********************************************************************************************************
------解决方案--------------------
------解决方案--------------------
$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";
}
//得到的结果
***********************************************************************************************************
<div <div id="111"></div>></div>
<div <div id="222"></div>></div>
<div <div id="333"></div>></div>
***********************************************************************************************************
想要的结果
***********************************************************************************************************
***********************************************************************************************************
<div><div id="111"></div></div>
<div><div id="222"></div></div>
<div><div id="333"></div></div>
***********************************************************************************************************
***********************************************************************************************************
------解决方案--------------------
$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;
}
------解决方案--------------------
$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;
}