PHP 从 url 获取版本
Posted
技术标签:
【中文标题】PHP 从 url 获取版本【英文标题】:PHP Get version from url 【发布时间】:2021-08-25 17:46:27 【问题描述】:如何从链接下载版本?我试图用 regEx 来做,但它没有按我的意愿工作。
我希望它会像这样工作(我给了NULL,没有什么可以选择的)
https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js > 1.11.2
https://ajax.googleapis.com/ajax/libs/jquery/v1.11.2/jquery.min.js > 1.11.2
https://ajax.googleapis.com/ajax/libs/jquery/version-1.11.2/jquery.min.js > 1.11.2
https://ajax.googleapis.com/ajax/libs/jquery/1-11-2/jquery.min.js > NULL
https://ajax.googleapis.com/ajax/libs/jquery/1112/jquery.min.js > NULL
https://www.google.com/recaptcha/api.js?render=6LdBsjgVaoTJ8rC-Npzz16bnAE > NULL
我的正则表达式:/([0-9]+\.?)+/
提前感谢您的帮助:)
【问题讨论】:
你到底想做什么?请澄清您的问题。 @AdisonMasih 我想从链接获取版本,如几个链接的示例所示。我给了箭头来说明从链接下载的内容 我当前的正则表达式不能按需要工作,因为它选择了每个数字而不是那么多,这应该是因为,例如,当我给出一个 recaptcha 的链接时,它会从键中选择值并且不应该返回任何东西 @Wiktor 已经回答了你的问题 :) 【参考方案1】:你可以使用
\/(?:v(?:ersion)?-?)?\K\d+(?:\.\d+)+
请参阅regex demo。注意:如果您想确保版本号后面有 /
或字符串结尾,请在模式末尾添加 (?![^\/])
前瞻 \/(?:v(?:ersion)?-?)?\K\d+(?:\.\d+)+(?![^\/])
(请参阅 this regex demo)。
详情:
\/
- 一个 /
字符
(?:v(?:ersion)?-?)?
- v
的可选序列,然后是可选的 ersion
,然后是可选的 -
字符
- \K
- 省略匹配的文本
\d+(?:\.\d+)+
- 匹配和消费一个或多个数字,然后是一个或多个点序列和一个或多个数字。
【讨论】:
以上是关于PHP 从 url 获取版本的主要内容,如果未能解决你的问题,请参考以下文章