【发布时间】:2015-08-22 12:25:59
【问题描述】:
我正在尝试从this page 接收<tbody> 标签的内容。
只有一个表只有一个标签<tbody>,我想从这个表中获取所有行
我尝试这样做
$page = file_get_contents('http://pk.zntu.edu.ua/fakultety-ta-napryamy-pidhotovky/derzhavne-zamovlennya-2011-bakalavr');
preg_match_all("/<tbody>(.+?)<\/tbody>/is", $page, $output_array);
var_dump($output_array);
我收到空数组:
array(2) { [0]=> array(0) { } [1]=> array(0) { } }
我尝试过不同的模式变体,例如
- “
/<tbody>(.*?)<\/tbody>/is” - “
/<tbody>.+?<\/tbody>/is” - “
/<tbody>.*?<\/tbody>/is” - “
/<tbody>.+<\/tbody>/is” - “
/<tbody>.*<\/tbody>/is”
但没有人工作
PCRE 和正则表达式库应该没问题
不知道是什么问题,请帮忙
【问题讨论】:
-
将带有
tbody标记的内容包含在您在问题中获取的来源中。 -
/<tbody\b[^>]*>(.*?)<\/tbody>/is -
“尝试不同的变体”本质上只是猜测。 不要在编程时这样做。这是一种可怕的方法。了解您想要做什么,将其分解为步骤,了解语法的含义,然后弄清楚如何用该语法表达您的意图,最后进行测试。
-
我没有从那个 url 得到任何 tbody :o 你得到什么回应?我刚得到一个
-
您应该在这里阅读最佳答案:stackoverflow.com/questions/1732348/…
标签: php regex preg-match-all