为什么我不能在php中爆出一个<ul></ul>?

How come I cannot explode a <ul></ul> in php?

我正在尝试爆炸'ul'来获取文本。下面的代码,帮助,欣赏。

<?php
$html="<ul id='get_user' class='get_user'>1,2,3,4</ul>";
$first_explode=("<ul id='get_user' class='get_user'>",$html);
$second_explode=("</ul>", first_explode[1]);
$thrid_explode=(",", $second_explode[0]);
echo $thrid_explode[1]; //expecting 2
?>

查看这个 Whosebug 答案:RegEx to extract text between a HTML tag

正则表达式 "/<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/>/" 将提取 HTML 标签内的文本。您可以使用 php 的 preg_match:http://php.net/manual/en/function.preg-match.php

像这样:

$regex = '/<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/>/';
$string = '<div class="some-class" style="display:block;">Hello</div>';
preg_match($regex, $string, $matches);
print_r($matches);

总而言之,您想使用正则表达式来解析比简单字符定界符更复杂的任何内容。这是一个方便的在线正则表达式测试器:https://regex101.com/#pcre

就是这样。

<?php
    $html ="<ul id='get_user' class='get_user'>1,2,3,4</ul>";
    $arrayUL = explode(",", strip_tags($html));
    print_r($arrayUL);
?>

strip_tags Manual