多维数组递归问题
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//为了实现内容中去除HTML A标签function htmla(&$string) { if(is_array($string)) { foreach($string as $k=>$v) { $string[$k]=preg_replace("/<\/?a.*?>/","",$v); if(is_array($v)) { htmla($string[$k]); } } }else{ $string=preg_replace("/<\/?a.*?>/","",$string); } } $test=array(1,2,34,5,array("a"=>"而",1,23,array("df"=>"<span style="color:transparent">~来1源gaodai#ma#com搞*代#码1网</span><abbr>搞代gaodaima码</abbr>测试下"),array(23,32)),"b"=>"三"); htmla($test); var_dump($test);//结果array(6) { [0] => string(1) "1" [1] => string(1) "2" [2] => string(2) "34" [3] => string(1) "5" [4] => array(5) { ["a"] => string(3) "而" [0] => string(1) "1" [1] => string(2) "23" [2] => string(5) "Array" //超过2维就没法转换了。。 [3] => string(5) "Array" } ["b"] => string(3) "三"}
——解决方案——————–
foreach($string as $k=>$v)
{
//$string[$k]=preg_replace(“/<\/?a.*?>/”,””,$v);
if(is_array($v))
{
htmla($string[$k]);
}
else
{
$string[$k]=preg_replace(“/<\/?a.*?>/”,””,$v);
}
}