我真的很困惑PHP的正则表达式。PHP:正则表达式搜索一个文件中的模式,并捡起它
无论如何,我现在无法阅读整个教程的事情,因为我有一堆html中的文件,我必须在那里尽快找到链接。我想出了一个用php代码实现自动化的想法,它是我知道的语言。
,所以我想我可以用户此脚本:
$address = "file.txt";
$input = @file_get_contents($address) or die("Could not access file: $address");
$regexp = "??????????";
if(preg_match_all("/$regexp/siU", $input, $matches)) {
// $matches[2] = array of link addresses
// $matches[3] = array of link text - including HTML code
}
我的问题是$regexp
我需要的模式是这样的:
href="/content/r807215r37l86637/fulltext.pdf" title="Download PDF
我要搜索并获得/content/r807215r37l86637/fulltext.pdf
从我上面有许多文件中。
有帮助吗?
==================
编辑
标题属性是对我和所有的人,我想重要的是,在题为
title =“Download PDF”
呃。为什么xpath如果你只做一个nodename搜索?为什么不只是`$ dom-> getElementsByTagName('a');`?我可以理解xpath,如果你做了$ x-> query('// a [contains(@title,“Download Pdf”)]');`这将返回完全匹配... ;-) – ircmaxell 2011-02-11 20:31:40
@ircmaxell,你完全正确.`getElementsByTagName()`可能是一种更有效的方法。 – 2011-02-11 20:35:26
@safaali在查询中,更改`@ title ='将Pdf'`下载到`@ class ='nameOfClass'`或使用`包含(@title,'下载PDF')`。即使他们有额外的东西,包含会抓住他们。 – 2011-02-11 20:46:30