2016-09-20 4 views
0

PHPExcel을 통해 Excel 파일로 변환하기 위해 클라이언트에서 서버로 게시되고 simpleXML로 구문 분석되는 자체 닫기 입력 태그가 포함 된 HTML 표를 가져와야합니다.자기 닫는 태그가없는 입력을 이해하려면 simplexml을 가져 오는 중입니까?

문제는 브라우저가 입력 태그에서 자체 닫기 태그를 제거하여 simplexml_load_string 함수에 전달할 때 오류가 발생한다는 것입니다.

$table = '<table><tr><td><input name="test" value="1" type="checkbox" ></td></tr></table>'; 
$xml = simplexml_load_string($table); 

전에서 코드를 변경 브라우저 막을 수있는 경우 :

<input name="test" value="1" type="checkbox" /> 

에를 :

내 문제를 해결할 것입니다하지만 난 모르거나없는 것
<input name="test" value="1" type="checkbox" > 

이 일을하는 방법을 찾으려면?

simplexml_load_string이 자체 마감 태그가없는 입력을 허용하도록 허용 할 수 있습니까? 아니면 누락 된 다른 것이 있어도 허용 할 수 있습니까?

http://phpfiddle.org/main/code/bw3x-zvtw

답변

1

이 참여하는 트릭이있다 : the DOM extension can parse HTML, 당신이 여기 가지고있는 것처럼 닫히지 않은 태그를 포함; SimpleXML can "import" a DOM object (실제로 동일한 내용의 메모리 구조를 사용하기 때문에 아무 것도 재연하지 않고).

그것은 간단되어야한다 등 :

$dom = new DOMDocument; 
$dom->loadHTML($html); 
$sx = simplexml_import_dom($dom); 
관련 문제