Я знаю, что этот вопрос вокруг SO, но я не могу найти правильную и я все еще сосать в Regex:/Нахождение HTML-теги в строке
У меня есть string
и эта строка является действительной HTML. Теперь я хочу найти все теги с определенными name
и attribute
.
Я пробовал это регулярное выражение (т. Е. Div с типом): /(<div type="my_special_type" src="(.*?)<\/div>)/
.
Пример строки:
<div>Do not match me</div>
<div type="special_type" src="bla"> match me</div>
<a>not me</a>
<div src="blaw" type="special_type" > match me too</div>
Если я использую preg_match тогда я только получаю <div type="special_type" src="bla"> match me</div>
, что логично, потому что другой имеет атрибуты в другом порядке.
Что регулярное выражение мне нужно, чтобы получить следующую array
при использовании preg_match
на примере строки ?:
array(0 => '<div type="special_type" src="bla"> match me</div>',
1 => '<div src="blaw" type="special_type" > match me too</div>')
, если он является действительным HTML вы не можете использовать [PHP DOM] (http://php.net/manual/en/book.dom.php)? Я не рекомендую использовать 'preg_ *' для HTML – bansi