텍스트가 많은 데이터베이스 행이 있지만 특정 텍스트 만 선택하려고합니다.PHP 요소 앞뒤의 텍스트 제거
예 :
<strong>Lorem</strong>
<ul>
<li>Lorem</li>
<li>Ipsum</li>
</ul>
<strong>Ipsum</strong>
<ul>
<li>Ipsum</li>
<li>Lorem</li>
</ul>
<strong>Third</strong>
<ul>
<li>Some words</li>
<li>More words</li>
</ul>
나는 단지 UL 요소와 Ipsum의 부분을 선택하고 나머지는 무시해야합니다. 내가 DOMXPath->evaluate('//text()[contains()]')
와 함께 일하려고했지만 이것은 단지 요소가 아닌 입스문 텍스트만을 보여줍니다.
편집 : 내가 원하는 정확한 출력은 다음과 같습니다
는<strong>Ipsum</strong>
<ul>
<li>Ipsum</li>
<li>Lorem</li>
</ul>
내가 노력 코드는 (좀 더 시도했지만이 마지막 결과) :
$d = new DOMDocument;
$d->loadHTML($text);
$x = new DOMXPath($d);
$result = $x->evaluate("//text()[contains(., 'Ipsum')]");
$result->item(0)->nodeValue;
이 만 Ipsum 제품을 보여줍니다 텍스트가 아니라 목록 요소.
정확한 출력을 추가하여 질문을 편집 할 수 있습니까? –
그리고 그 코드를 사용했다고 말하면 – Andreas
"Ipsum part"은 무엇입니까? 항상 "Ipsum"이라는 단어와 정확히 일치합니까? 아니면 항상 3 개의 문자열 태그 중 두 번째입니까? – Andreas