2012-02-15 4 views
0

누군가 다음과 같은 문제를 해결할 수 있기를 바랍니다. 나는이 일로 하루를 보낸 후 벽돌 벽에있다.XML 내에서 HTML의 유효 기간이 깨지지 않고

온라인 상점 데이터베이스에서 제품 설명을 가져 와서 XML 피드를 생성하려고합니다. 나는 다음을 시도

echo '<DESCRIPTION>' . $row['products_description'] . '</DESCRIPTION>'; 

: - - : 문제는 브라우저

에서 그것을 볼 때이 코드 줄은 설명이 XML 나누기 있도록 HTML이 포함되어있다

echo '<DESCRIPTION><![CDATA[' . $row['products_description'] . ']]></DESCRIPTION>'; 

출력을 볼 때 처음에는 XML이 깨진다.

<BR> 

PHP에서 htmlentities를 알고 있지만 설명을 가져 오기 위해 다른 상점에서 XML을 가져 와서 다시 가져올 때 제대로 표시되지 않습니다.

누군가가 도움을 주길 바랍니다. 시간을내어 주셔서 감사합니다

+0

제작 된 HTML을 제공 할 수 있습니까? –

+0

어떤 DTD/Shema가 XML을 사용하고 있습니까? – hakre

+0

답변

0

먼저 HTML을 정리하십시오.

$config = array(
    'indent'   => true, 
    'output-xhtml' => true, 
    'wrap'   => 200); 

$tidy = new Tidy(); 
$tidy->parseString($row['products_description'], $config, 'utf8'); 
$tidy->cleanRepair(); 

echo '<DESCRIPTION>' . $tidy. '</DESCRIPTION>'; 

이 작업을 수행하려면 libtidy extension이 설치되어 있어야합니다.

+0

감사하지만이 작동하지 않았다. –

+0

무엇이 작동하지 않습니까? 어쩌면 엔티티도 이스케이프해야합니다. HTML을 공유 할 수 있습니까? –

+0

코드에서 오류가 발생했습니다 PHP 치명적인 오류 : 'tidy'클래스가 xmlbuilder.php에서 393 행에 없습니다. –

관련 문제