нужно регулярное выражение для ли

Как я могу получить Струны между моими li теги в PHP? Я перепробовал много PHP код, но это не работает.

<li class="release">
<strong>Release info:</strong>
<div>
How.to.Train.Your.Dragon.2.2014.All.BluRay.Persian
</div>
<div>
How.to.Train.Your.Dragon.2.2014.1080p.BRRip.x264.DTS-JYK
</div>
<div>
How.to.Train.Your.Dragon.2.2014.720p.BluRay.x264-SPARKS
</div>
</li>

0

Решение

ты можешь попробовать это

$myPattern = "/<li class=\"release\">(.*?)<\/li>/s";
$myText = '<li class="release">*</li>';
preg_match($myPattern,$myText,$match);
echo $match[1];
2

Другие решения

Вам не нужно регулярное выражение. Это кажется распространенная ошибка при использовании регулярных выражений для разбора HTML-кода (Я взял URL из комментария T.J. Crowder).

Используйте инструмент для разбора HTML, например: библиотеку DOM.

Это решение для получения всех строк (я предполагаю, что это значения текстовых узлов):

$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$nodes = $xpath->query('//li//text()');
$strings = array();
foreach($nodes as $node) {
$string = trim($node->nodeValue);
if( $string !== '' ) {
$strings[] = trim($node->nodeValue);
}
}

print_r($strings); выходы:

Array
(
[0] => Release info:
[1] => How.to.Train.Your.Dragon.2.2014.All.BluRay.Persian
[2] => How.to.Train.Your.Dragon.2.2014.1080p.BRRip.x264.DTS-JYK
[3] => How.to.Train.Your.Dragon.2.2014.720p.BluRay.x264-SPARKS
)
0

По вопросам рекламы [email protected]