这是我使用regexp的函数:
preg_match_all('|<span class=\"Menu1\">(.*?)</td>|U',$contents,$wynik2);
适用于:
<tr>
<td width="30%" ><span class="Menu"> Nazwa zawdsdu: </td>
<td width="70%"> <span class="Menu1">PRACOWNIK BARU </td>
</tr>
但不适用于:
<td width="70%"> <span class="Menu1">PRACA W MC DONALDS PRACE PORZĄDKOWE, PRZYJĘCIE DOSTAWY
WYMAGANA KSIĄŻECZKA SANEPIDOWSKA, CHĘCI DO PRACY
KONTAKT TEL. 794295401 </td>
我有空数组。 我认为它是由'新线'造成的。我该如何解决?
答案 0 :(得分:3)
很抱歉,但我觉得有必要提供一个DOMDocument示例:
$d = new DOMDocument;
$d->loadHTML($html);
$xpath = new DOMXPath($d);
foreach ($xpath->query('//span[@class="Menu1"]') as $node) {
echo $node->nodeValue, PHP_EOL;
}
应用于您的刮刀(编辑网址和帖子字段)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://redacted');
curl_setopt($ch, CURLOPT_POSTFIELDS, 'redacted');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$d = new DOMDocument;
libxml_use_internal_errors(true);
$d->loadHTML(curl_exec($ch));
libxml_clear_errors();
$xpath = new DOMXPath($d);
foreach ($xpath->query('//span[@class="Menu1"]') as $node) {
echo $node->nodeValue, PHP_EOL;
}
答案 1 :(得分:2)
将s
修饰符添加到正则表达式的末尾。