2011-01-23 2 views
2

게시 된 PHP 값으로 XML 노드 값을 업데이트하려고했습니다.DOM을 사용하여 업데이트하는 동안 XML에서 새 줄 encyption (& # 13)을 이스케이프합니다. PHP

<name>test&#13; 
test123</name> 

는 결과가

$xml_Document = new DOMDocument(); 
$xml_Document->load('test.xml'); 

$employees = $xml_Document->getElementsByTagName("employees"); 

foreach($employees as $employee) 
{ 
$names = $employee->getElementsByTagName("name"); 

$names->item(0)->nodeValue = $_POST["text1"]; 

} 

$xml_Document->save('test.xml'); 

몇 가지 제안/솔루션을

+0

[php : UTF-8을 쓸 때마다 DomDocument를 사용하여 16 진수 표기법을 씁니다.] (http://stackoverflow.com/questions/3575109/php-using-domdocument) -w-it-to-write-utf-8-it-writes-the-16 진법 -no) – Gordon

+1

libxml2는'\ r'을 명시 적으로 ' ' – arnaud576875

답변

1

I을주십시오

<name>test 
test123</name> 

내 소스 기대 내처럼 내 문제는, 이후에 XML을 저장, 는 볼 수 문제가 $ names-> item (0) -> nodeValue = str_replace (chr (13), '', $ _POST [ "text1"]);

+0

으로 이스케이프 처리합니다. chr (13)은 "\ r" – arnaud576875

+0

입니다. BTW를 저장하기 전에 이 될 때를 아는 것이 도움이 될까요? 아니면 절약 한 직후입니까? – kalkin

+0

덕분에 많이 .... – user586445

관련 문제