我正在尝试使用正则表达式获取(和)标签之间的所有内容。我是新手,但我尝试了以下方法
$html = file_get_contents($inputUrl);
preg_match_all('<td>([^"]*)</td>/', $html, $result);
foreach ($result as $val) {
print $val."<br>";
}
我认为我的正则表达式的语法是错误的。我收到以下错误:
警告:preg_match_all() [function.preg-match-all]:未知修饰符 C中的"("...''tester.php在第 5 行
警告:在 C:...''tester 中为 foreach() 提供的参数无效.php 在第 7 行
顺便说一句,我需要为这项任务使用正则表达式!所以我不需要任何关于使用"解析XML"等的建议。
任何帮助将不胜感激
使用以下工作代码:
$mpmatch = "!<td>(.*?)</td>!is";
$str = "<td>sdfdfdfdsfds</td><td>333333333</td>";
preg_match_all($mpmatch, $str, $result);
foreach ($result as $val) {
echo "<pre>";
print_r($val);
}
希望这对您有所帮助。
您错过了第一个分律,您需要逃脱/
或使用不同的分律仪
preg_match_all('/<td>([^"]*)<'/td>/', $html, $result);
^----
或:
preg_match_all('#<td>([^"]*)</td>#', $html, $result);
另外,你需要使用贪婪匹配:
preg_match_all('#<td>(.*?)</td>#s', $html, $result);