HTML-рендеринг внутри array_push - PullRequest
0 голосов
/ 16 марта 2012

Я пытаюсь передать html (тег изображения) в array_push:

array_push($result, array("id"=>$value, "label"=>'<img src="images/image.jpg" alt="">'.$value, "value"=>strip_tags($key)));

Проблема в том, что html отображается на странице так:Я получаю только текст:

<img src="images/image.jpg" alt=""> 

вместо изображения.

Я обрабатываю массив $ result с помощью json_encode:

echo json_encode($result);

Ответы [ 2 ]

0 голосов
/ 16 марта 2012

Возможно, вы используете что-то вроде htmlentities() или addslashes() в вашей функции рендеринга. Без, это должно работать.

0 голосов
/ 16 марта 2012

Очевидно, array_push () преобразует сущности HTML, аналогичные функции htmlentities (). Я никогда раньше не изучал такое поведение, но простым решением было бы, когда вы извлекали данные HTML из массива, обрабатывали их с помощью html_entity_decode () перед выводом.

...