2013-10-04 2 views
0

Я использую это:Почему saveXML создает ` ` linebreaks?

foreach ($paragraph->childNodes as $child) { 
     $value .= $paragraph->ownerDocument->saveHTML($child); 
    } 

Проблема заключается в том, что в моей $value меня 
 там, где в исходном документе у меня есть разрыв строки.

Вот одна часть исходного HTML:

<html> 
    <head> 
    <meta http-equiv=Content-Type content="text/html; charset=utf-8"> 
    <meta name=Generator content="Microsoft Word 12 (filtered)"> 
     <title>SomeTitle</title> 
    </head> 
    <body lang=EN-US link=blue vlink=purple> 
    <div class=WordSection1> 
    <p class=3abstract><b>Abstract:</b> Five new anthranilic acid derivatives.</p> 
    </body> 
</html> 

ли вы сталкивались с этим раньше?

+0

Несомненно, я отредактирую свой андер немедленно –

+1

Я вижу, что генератор «Microsoft Word 12». M $ печатает новые строки как '\ r \ n'. Попробуйте нормализовать их с помощью 'preg_replace ('~ \ R ~ u'," \ n ", $ html)', затем загрузите html –

ответ

1

&#13; - это десятичное представление сущности HTML «возврат каретки», поэтому на выходе это прекрасно.

Чтобы вывести символ возврата каретки, попробуйте установить выходную кодировку исходного документа в UTF-8: $paragraph->ownerDocument->encoding = 'UTF-8'.

+0

Спасибо большое Alf .... –

Смежные вопросы