我有一个如下文字
$str = '<div>
<div id="priceRangeWrapper">
<div id="priceSlider" min="0" max="0"></div>
</div>
</div>';
1)首先,我想从上面的字符串中获取<div id="priceSlider" min="0" max="0"></div>
的位置,其中min和max值是随机的。类似于Php的strpos()函数,它返回int的位置,如
$pos = strpos($str, '<div id="priceSlider" min="0" max="0"></div>');
//but min and max values are random. I don't know what can be they
2)我想从上面的文本中获取 min 和 max 值。如何在PHP中使用/不使用regex获取这两个值?
答案 0 :(得分:5)
不要使用正则表达式来解析HTML。相反,这是DOMDocument的一个例子。
$doc = new DOMDocument();
$doc->loadHTML($str); // Load the HTML string from your post
$xpath = new DOMXPath($doc);
$node = $xpath->query('//div[@id="priceSlider"]')->item(0); // Get the <div>
// Print out the min and max attribute values
echo $node->getAttribute('min') . " " . $node->getAttribute('max');
您可以看到它正常工作here。