【问题标题】:extract specific links from a website in php用php从网站中提取特定链接
【发布时间】:2017-04-18 07:47:21
【问题描述】:

我想从网站中提取特定链接。

链接如下所示:

/topic/Funny/G1pdeJm

链接总是相同的 - 除了最后一个随机字符。

我很难把这些部分结合起来

(preg_match("/^http:\/\//i",$str) || is_file($str))

(preg_match("/Funny(.*)/", $str) || is_file($str))

第一个代码提取每个链接 第二次从链接中提取仅 /topic/Funny/* 部分。

不幸的是我不能合并它们,我也想屏蔽这些标签:

/topic/Funny/viral
/topic/Funny/time
/topic/Funny/top
/topic/Funny/top/week
/topic/Funny/top/month
/topic/Funny/top/year
/topic/Funny/top/all

有什么想法吗?

谢谢,奇姆

【问题讨论】:

    标签: php regex filtering extract


    【解决方案1】:

    您可以尝试使用否定前瞻来“过滤掉”您不喜欢的网址:

    .*\/Funny\/(?!viral|time|top\/week|top\/month|top\/year|top\/all|top(\n|$)).*
    

    demo here

    【讨论】:

    • 我认为如果你把它放在preg_match 里面会很好,这样OP就会理解这个正则表达式的用法:)
    • 老实说,我是一个正则表达式的人,而不是一个 PHP 人,否则我会这样做 :)
    • 谢谢一吨!这个正则表达式看起来很完美 :) 但不幸的是,正如@Dekel 所说,我无法让它在我的脚本中工作:/
    猜你喜欢
    • 2017-08-08
    • 2021-02-16
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 2018-08-14
    • 2016-04-18
    • 2013-01-02
    • 1970-01-01
    相关资源
    最近更新 更多