Preg_match desen Yardım

2 Cevap php

Ben böyle bir şey var, bir html içeriği ayrıştırmak istiyorum:

<div id="sometext">Lorem<br> <b>Ipsun</b></div><span>content</span><div id="block">lorem2</div>

Ben ilk div içinde sadece "Lorem<br> <b>Ipsun</b>" yakalamak gerekir. Bunu nasıl başarabiliriz?

Ps: the html inside the first div have multiple lines, its an article.

Teşekkürler

2 Cevap

id bilinen olduğunu varsayarak:

preg_match('#<div id="sometext">(.*?)</div>#s', $text, $match);

use regex to parse HTML HTML olarak çok güzel bir deneyim değil çalışılıyor düzenli bir dil değildir. Bir alternatif / Simple HTML DOM veya DOM kütüphane gibi bir HTML ayrıştırıcı kullanmak olacaktır

Basit HTML DOM Örnek:

$html = str_get_html('<div id="sometext">Lorem<br> <b>Ipsun</b></div><span>content</span><div id="block">lorem2</div>');
echo $html->find('div[id=sometext]', 0)->innertext;