用于提取特定href链接的PHP脚本

用于提取特定href链接的PHP脚本,php,regex,extract,Php,Regex,Extract,可能重复: 我想制作一个php脚本,从一个网页(我的)中提取所有href链接,但只提取字符串中带有“/view/”的链接 =>未提取 =>提取 如果可能的话,所有链接都将设置在一个数组中 因此,基本上,脚本将位于我的管理部分,我将运行它以获取数组中包含特定字符串“/view/”的所有链接,以便稍后在另一个脚本中使用 我已经做了研究,找到了这个脚本,但无法修改它,使其只包含特定的链接(带有“/view/”) 我知道你们不是我的奴隶,所以即使你们有任何修改现有脚本的技巧,我也会很高兴 我的剧本

可能重复:

我想制作一个php脚本,从一个网页(我的)中提取所有href链接,但只提取字符串中带有“/view/”的链接

=>未提取

=>提取

如果可能的话,所有链接都将设置在一个数组中

因此,基本上,脚本将位于我的管理部分,我将运行它以获取数组中包含特定字符串“/view/”的所有链接,以便稍后在另一个脚本中使用

我已经做了研究,找到了这个脚本,但无法修改它,使其只包含特定的链接(带有“/view/”)

我知道你们不是我的奴隶,所以即使你们有任何修改现有脚本的技巧,我也会很高兴

我的剧本


谢谢

使用获取页面内容

$input = file_get_contents("http://www.yourpage.php");
然后执行提取所需的链接集


正则表达式:
/\)

您只需更改以下内容:

preg_match_all ("/a[\s]+[^>]*?href[\s]?=[\s\"\']+".
                "(.*?)[\"\']+.*?>"."([^<]+|.*?)?<\/a>/",
                $var, &$matches);
preg\u match\u all(“/a[\s]+[^>]*?href[\s]?=[\s\“\']+”。
“(.*?[\“\']+.*?>”([^
$var=file\u get\u contents(”http://www.entendu.info");
preg\u match\u all(“/]*?\bhref\s*=\s*([\'\'\'])(?=[^\'\'\'\']*/view\/)(.*?[\'\'\']/”,
$var,&$matches);
$matches=$matches[2];
foreach($匹配为$var)
{    
打印($var。“
\n”); }
如果您已经设法提取了所有链接的列表,那么只需过滤这些链接。
$view\u links=preg\u grep(“#/view/#,$matches[1]);
需要转义第二个正则表达式中的引号。这一个将触发语法错误。
preg_match_all ("/a[\s]+[^>]*?href[\s]?=[\s\"\']+".
                "(.*?)[\"\']+.*?>"."([^<]+|.*?)?<\/a>/",
                $var, &$matches);
preg_match_all ("/<a.*href=\"([^\"]*\/view\/[^"]*)\"/", $var, &$matches);
$var = file_get_contents("http://www.entendu.info");

preg_match_all ("/<a\s+[^>]*?\bhref\s*=\s*([\'\"])(?=[^\'\"]*\/view\/)(.*?)[\'\"]/", 
  $var, &$matches);    

$matches = $matches[2];

foreach($matches as $var)
{    
  print($var . "<br>\n");
}