2016-10-30 5 views
0

에 브레이크 줄을 추가이 코드를foreach 루프 PHP는

$myurl = file_get_contents('https://myurl.html'); 
$doc = new DOMDocument(); 
@$doc->loadHTML($myurl); 
$divs = $doc->getElementsByTagName('div'); 

foreach($divs as $div) { 
    if ($div->getAttribute('id') === 'j-product-desc') { 
     echo "<br/>".$div->nodeValue; 
    } 
} 

결과가 있습니다 그것은 더 브레이크 라인 결과이 같은 표시됩니다.

항목 구체적인 아이템 종류 : 보석 포장 & 디스플레이 재질 : 아크릴 보석 포장 & 디스플레이 유형 : 케이스 & 표시 항목 길이 : 16.5 cm

필수 결과 나는 모든 사양 후 휴식이 같은 결과를 원한다.

구체적인 항목

항목 유형 : 보석 포장 & 표시

재질 : 아크릴 보석 포장 & 표시

유형 : 케이스 & 표시

항목 길이 : 16.5 cm

+0

전체 문자열이 단일 'nodeValue'에 있습니까? –

+0

예 단일 노드의 전체 문자열 –

+0

그러면 어려움이 있습니다. 속성의 각 부분이 시작되고 끝나는 곳의 규칙이 무엇인지 알아 내야합니다. 그리고 문자열을 적절하게 분할 한 다음 HTML '
'태그를 사용하여 출력하십시오. 더 쉬운 방법은 텍스트에 이미 개행 문자가있는 경우입니다. 브라우저에서 소스를 보는 경우 다른 행에 있습니까? –

답변

1

사용해보기 :

$myurl = file_get_contents('https://myurl.html'); 
$doc = new DOMDocument(); 
@$doc->loadHTML($myurl); 
$divs = $doc->getElementsByTagName('div'); 

foreach($divs as $div) { 
    if ($div->getAttribute('id') === 'j-product-desc') { 
     $desc = str_replace("\n", '<br>', $div->nodeValue); 
     echo "<br/>".$desc; 
    } 
}