我的代码类似于:
<a href="http://www.allegro.pl/show_item.php?item=3069353216" target="_blank">Buty trekkingowe Chiruca Tasmania 12 GTX roz. 44</a>
现在我想从中提取: Buty trekkingowe Chiruca Tasmania 12 GTX roz。 44
从imap中获取数据(使用PHP)。 对于每个提取的数据,该代码中的可变项是不同的,因此它尊重那里的所有数值
你能帮我把preg_match放在一起吗?
答案 0 :(得分:0)
DOMDocument的一个例子:
$html = '<a href="http://www.allegro.pl/show_item.php?item=3069353216" target="_blank">Buty trekkingowe Chiruca Tasmania 12 GTX roz. 44</a>';
$dom = new DOMDocument();
@$dom->loadHTML($html);
$number = '3069353216';
$aNodes = $dom->getElementsByTagName('a');
foreach ($aNodes as $aNode) {
if (preg_match('~=' . $number . '$~', $aNode->getAttribute('href')))
echo $aNode->nodeValue;
}
如果要检查多个数字,并且$number
是正则表达式模式的一部分,您可以写:
$number = '(?:3069353216|30804254251)';
或者您可以从数组中生成它:
$numbers = array('3069353216', '30804254251', ...);
$number = '(?:' . implode('|', $numbers) . ')';
如果您不需要特定号码:$number = '[0-9]+';
如果您不需要号码,可以删除if (preg_match...