나는 여기에서 새롭고 하루 종일 나를 속이는 질문을 받았다.PHP 5로 XML 번호가 매겨진 엔티티 얻기 DOM
나는 cURL을 통해 웹 사이트 소스 코드를 읽고 사이트 맵 파일을 생성하기 위해 DOMDocument 클래스와 작동하는 PHP 스크립트를 만들었습니다.
거의 모든면에서 매력처럼 작동합니다. 문제는 특수 문자입니다.
호환성을 위해 사이트 맵 파일에는 번호가 지정된 모든 엔티티로 인코딩 된 특수 문자가 모두 있어야합니다. 그리고 나는 그것을 성취하지 못하고있다. 예를 들어
, 내 항목 중 하나 - 자동으로 사이트 URL에서 읽고, 파일을 사이트 맵 쓴 -입니다 :
: 그것은해야 소스 코드에
http://www.somesite.com/serviços/redesign/
처럼 보이는 * http://www.somesite.com/servi ** ç ** os/redesign/*
바로이 부분입니다. 그러나 불행히도, 나는 그것을 실제로하는 방법을 알아 내고 있지 않습니다.
소스 코드 파일, 서버 헤더 등 ... 모든 것이 UTF-8로 인코딩됩니다.
DOMDocument 및 관련 확장을 사용하여 XML을 작성하고 있습니다. (기본적으로 DOMDocument, $ obj-> createElement, $ obj-> appendChild).
htmlentities는 & ccedil; 대신 ç str_replace가 작동하지 않습니다. 문자가 출력에서 사라집니다.
$ obj-> createElement ("loc", $ url);을 (를) 사용하고있었습니다. 내 코드에서, 그리고 지금 막 엔티티 인코딩을 지원하기 위해 $ document-> createTextNode ($ page)를 사용해야한다는 PHP 매뉴얼을 읽었습니다.
음, 작동하지 않습니다.
이 문제를 해결하는 방법에 대한 아이디어가 있으십니까?
감사합니다.