How are php regular replacement results displaced ?? $ Str & lt; div & nbsp; _ data111 & gt; & lt; div & nbsp; _ data222 & gt; & lt; div & gt; & lt; div & nbsp; _ data333 & gt; & lt; div & gt; $ apreg_replace (_ data [|] (how do I shift the regular replacement result of php ??
$str='';
$a=preg_replace('/\_data=[\"|\']([a-zA-Z0-9\_]+)([\s\"\']*)/eis', "data_array('\\1')", $str);
die($a);
function data_array($key){
$code=add_p("$key");
return "$code";
}
function add_p($v){
$value="";
return "$value";
}
// Obtain the result
**************************************** **************************************** ***************************
>
>
>
**************************************** **************************************** ***************************
Expected results
**************************************** **************************************** ***************************
**************************************** **************************************** ***************************
**************************************** **************************************** ***************************
**************************************** **************************************** ***************************
------ Solution --------------------
$ A = preg_replace ('/\ s + \ _ data = [\"
------ Solution --------------------
\ '] ([A-zA-Z0-9 \ _] +) ([\ s \ "\'] *)>/eis '," data_array (' \ 1 ')", $ str );
Die ($ );
Function data_array ($ key ){
$ Code = add_p ($ key );
Return $ code;
}
Function add_p ($ v ){
$ Value = ">";
Return $ value;
}
------ Solution --------------------
$ Str ='';
$ A = preg_replace_callback ('/<(\ w +) \ s + \ _ data = [\"
------ Solution --------------------
\ '] ([A-zA-Z0-9 \ _] +) ([\ s \ "\'] *) \ s * class =" (. + ?) "> <\/\ 1>/is '," data_array ", $ str );
Die ($ );
Function data_array ($ key ){
$ Code = add_p ($ key [4], $ key [2]);
Return $ code;
}
Function add_p ($ class, $ id ){
$ Value ="";
Return $ value;
}