怎样根据$hello数据将$str层层展开?
怎样根据$hello数据将$str层层展开?
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php $my_arr=array(); $str="DIR_<strong>*本文来@源gao@daima#com搞(%代@#码@网2</strong><pre>搞代gaodaima码
FS_AAA . DIR_WS_CLASSES”; $hello=array( “DIR_FS_AAA” =>”DIR_WS_TEMPLATE.’includes/'”, “DIR_WS_CLASSES” =>”DIR_WS_ADMIN.’helloworld'”, “DIR_WS_TEMPLATE” =>”template/”, “DIR_WS_ADMIN” =>”admin/” );//怎样得到这样的结果数组: $my_arr=array( “DIR_FS_AAA . DIR_WS_CLASSES”, “DIR_WS_TEMPLATE.’includes/’.DIR_WS_TEMPLATE.’includes/'”, “template/includes/admin/includes/” );?>
——解决方案——————–
- PHP code
$my_arr[] = $str;$tmp = preg_replace("/[A-Z_]+/e", "\$hello['\\0']", $str);$my_arr[] = $tmp;$tmp = preg_replace("/[\"']?\s*\.?\s*([A-Z_]+)\s*\.?\s*[\"']/e", "\$hello['\\1']", $tmp);$my_arr[] = $tmp;//testprint_r($my_arr);/**Array( [0] => DIR_FS_AAA . DIR_WS_CLASSES [1] => DIR_WS_TEMPLATE.'includes/' . DIR_WS_ADMIN.'helloworld' [2] => template/includes/admin/helloworld')/**/