我发现如何删除动态多维数组中的 html 标签:
function strip_tags_deep($value){
return is_array($value) ? array_map('strip_tags_deep', $value) : strip_tags($value);
}
现在,我只想将 strip_tags 应用于这样的键值......
function strip_tags_deep($value){
return is_array($value) ? array_map('strip_tags_deep', $value) : /* IF $KEY == "valuetest" THEN */ strip_tags($value);
}
我怎样才能做到这一点 ?
编辑:感谢囚犯 =)
我的新功能是:
function strip_tags_deep($value, $key = null){
if(is_array($value)){
return array_map('strip_tags_deep', $value, array_keys($value));
}else{
if($key === '#title'){
return strip_tags($value));
}
return $value;
}
}
但是她返回了一个数组但是...(<-见下面的edit2)但是如果我这样做..
function strip_tags_deep($value, $key = null){
if(is_array($value)){
return array_map('strip_tags_deep', $value);
}else{
//if($key === '#title'){
return strip_tags(html_entity_decode($value));
//}
return $value;
}
}
我的结果与我的第一次尝试相同。嗯,很奇怪,为什么第三个参数的 array_map 有问题?
edit2:一个示例数组
"arrayvalue1"
"arrayvalue11"
"a" => "avalue"
"b" => "bvalue"
"arrayvalue111"
"c" => "cvalue"
变成 "'strip_tags_deep', $value, array_keys($value)" :
0
0
0 => "avalue"
1 => "bvalue"
1
0 => "cvalue"
我丢失了“数组名称”:/(原谅我糟糕的英语)