2011-07-07 4 views
0

xml_parser를 사용하여 XML을 구문 분석합니다. 내가 같은 문자열을 가지고있을 때

$simple = "<para><note>simple note</note></para>"; 

그것은 작동합니다. 그러나 문제는 $ _GET 매개 변수를 사용할 때입니다. xml.php을 실행하면

$simple = "<para><note>simple note</note></para>"; 
$parser = xml_parser_create(); 
$valid = xml_parse_into_struct($parser, $simple, $response, $index); 
xml_parser_free($parser); 
echo $valid; 

, 그것은

xml.php?simple=<para><note>simple note</note></para> 

실행하면 그것은 그것은 0이 나던 일을 반환

$simple= $_GET['simple']; 
$parser = xml_parser_create(); 
$valid = xml_parse_into_struct($parser, $simple, $response, $index); 
xml_parser_free($parser); 
echo $valid; 

작동 1. 반환합니다.

그러나 $ _GET 매개 변수가 정상 :

echo $_GET['simple] 

인쇄 그런데

<para><note>simple note</note></para> 

, 나는 마법을 해제 인용한다.

가 화면/브라우저에 표시되는 내용 때문에 당신에게

답변

0

대단히 감사하면 아마 <을 의미 > 정말 구분 기호에 태그를하지있습니다 <para><note>simple note</note></para>입니다. (그러나 &gt;&lt;) 에코를 할 때 페이지에서 소스를 보지 않으면 진실이 나옵니다.

+0

대단히 감사합니다. 그것이 열쇠였습니다. html_entity_decode ($ simple)를 사용했는데 성공했습니다! 얼마나 빨리이 질문에 답을했습니다 !! 그리고 1 시간 이상 검색하고 시도했습니다. Mark와 you, Itay에게 다시 감사드립니다. – Alberto

+0

@Alberto =이 대답이 문제를 올바르게 설명했다면, 항상 받아 들일 수 있습니다 ... –