2011-04-07 5 views
1

브라우저 표시를 위해 html 엔티티를 디코딩하는 데 문제가 있습니다. 저는 WordPress 블로그에서 블로그 설명을 표시하려고합니다. 텍스트는 데이터베이스에 저장되기 전에 인코딩 된 html 엔티티입니다. 예를 들어 하이퍼 링크를 표시하려면 텍스트가 html 엔티티로 다시 디코딩되어야하므로 a 태그가 제대로 렌더링됩니다.html_entity_decode가 디코딩되지 않습니다.

그러나 텍스트를 디코딩하려고하면 HTML 엔티티로 출력됩니다. 디코딩 전에

출력 : 디코딩

echo(bloginfo('description')); //output: Display a hyper link. <a href="">READ MORE</a> 

출력. 그리고 여기 내 문제가있다. 그것은 여전히 ​​해독되지 않습니다! 출력을 확인하십시오.

디코딩 할 텍스트를 하드 코드하려고하면 작동합니다!

echo(html_entity_decode('Display a hyper link. &lt;a href=""&gt;READ MORE&lt;/a&gt;')); //output: Display a hyper link. <a href="">READ MORE</a> 

PHP 매뉴얼을 살펴본 결과 다른 문자셋과 견적 스타일을 인수로 사용했습니다. 그러나 여전히 운이 없다.

내가 뭘 잘못 했니?

답변

5

bloginfo 함수는 텍스트를 반환하지 않고 직접 반향 출력합니다. 따라서 "에코"는 실제로 아무 것도 울리지 않습니다!

대신 get_bloginfo을 사용하십시오.

+0

물론! Tack Emil! – Tjofras

2

당신은 워드 프레스 수동 : 그것은 분명히 대신 get_bloginfo 사용, 브라우저에 결과를 출력 상태

을 읽어야합니다. http://codex.wordpress.org/Function_Reference/bloginfo

bloginfo가 정보를 반영하기 때문에 명확하지 않으므로 작동하지 않습니다. 전혀 반환하지 않습니다. bloginfo의 반환 값을 검사하여 (var_dump를 사용하여)이를 테스트했을 수 있습니다.

+0

물론 감사합니다. – Tjofras

0

bloginfo은 문자를 다른 시간에 인코딩하지 않습니까?

다시 인코딩하는 경우 html_entity_decode은 원래 상태 (인코딩 됨)로 되돌아갑니다.

관련 문제