객체 및 배열에 html_entity_decode를 적용 할 함수를 작성하려고합니다. 미리 구조체를 알지 못하고 자식 속성도 객체 나 배열이 될 수 있기 때문에 간단한 재귀 함수가 길을가는 것처럼 보였습니다. 다음 작동하지 않는 이유를 알아낼 수 없어요 :재귀를 사용하여 객체 및 배열에 html_entity_decode 적용
function decode($data){
if(is_object($data))
$data = get_object_vars($data);
$data = is_array($data) ? array_map(array('MyClassName', 'decode'), $data) : html_entity_decode($data);
return $data;
}
가 어느 함수가 데이터에 영향을 미치지 : 나는 또한 중 하나가 작동하지 않습니다 다음을 시도
function decode($data){
if(is_object($data) || is_array($data)){
foreach($data as &$value)
$value = $this->decode($value);
}
else $data = html_entity_decode($data);
return $data;
}
. 내가 도대체 뭘 잘못하고있는 겁니까?
을 제거하면 첫 번째 기능이 작동한다고 생각합니다! 나는 그것을 가로 질러 왔고, 그것을 나의 자신의 프로젝트에서 사용하기로 결정했다. 고맙습니다! –
@TyBailey http://stackoverflow.com/a/15034807/1226894 또한 'htmlentities'가 아닌 다른 필터를 사용합니다. – Baba
감사합니다. 이것은 잘 작동합니다. 우연히도, 내 원래의 기능 모두 (적어도 내 목적을 위해). 문제는 내 jquery 아약스 요청과 것 같습니다. PHP 스크립트가 디코드 된 응답을 보내고 있지만 어떻게 든 엔티티 인코딩입니다. 물론 원래 질문에 대해 100 % 정확하므로 답변을 수락합니다. 다시 한번 감사드립니다. –