【发布时间】:2011-02-10 11:46:18
【问题描述】:
大家好
我有这个正则表达式如下:
$thread_views_exp = '~<td class="alt1" align="center">.*</td> <td class="alt2" align="center">(.*)</td> </tr>~isU';
这样做的目的是获取此示例线程 url http://www.swalif.net/softs/swalif45 的所有“视图”(左起第一列)。除了第一个值外,一切正常。
样本输出:
Array
(
[0] => 12 528
[1] => 2,732
[2] => 506
[3] => 73
[4] => 83
[5] => 245
[6] => 100
[7] => 201
[8] => 55
[9] => 55
[10] => 37
[11] => 349
[12] => 123
[13] => 75
[14] => 173
[15] => 260
[16] => 101
[17] => 660
[18] => 158
[19] => 66
[20] => 177
[21] => 165
[22] => 228
[23] => 812
[24] => 347
[25] => 197
[26] => 348
[27] => 263
[28] => 176
[29] => 315
[30] => 173
[31] => 273
[32] => 199
)
感谢您的帮助。 伊姆兰
【问题讨论】:
-
不要parse html with regex。所以不要尝试...
-
请不要把你的想法塞给别人。让每个人都有自己的看法。我在我的上下文中使用它,并且我 90% 的工作都非常成功。这只是一件小事,如果你能帮助它的alrite,那就卡住了,否则不需要评论。
-
表格单元格是否也是从右到左排列的?让我很困惑。无关文本内容的原因并不是很明显。也许您应该发布一个
tidy -i重新格式化的源示例。 -
@Russell - 解决上述问题将使其 100%
-
如果您对生成的 HTML 有一定的控制权,或者总是从给定的来源获取它,那么您可以很好地使用 RegEX,因为您可以预料到任何问题,但是对于任意 HTML,然后使用那里的解析器正则表达式可以处理许多特殊情况。
标签: php regex html-parsing