我需要preg_match
指向imgur.com服务的链接。
所以,我的代码是:
if (!preg_match("/(http|https)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}
(\/\$_POST['request'])) { ... }
如何使其仅适用于那些链接?
http://imgur.com/aBc1
https://imgur.com/a/aBc1
http://www.imgur.com/a/aBc1
https://www.imgur.com/a/aBc1
http://imgur.com/gallery/aBc1
https://imgur.com/gallery/aBc1
http://i.imgur.com/aBc1.png(.jpg,.jpeg,.gif)
https://i.imgur.com/aBc1.png(.jpg,.jpeg,.gif)
答案 0 :(得分:1)
这应该做:
/(http|https)\:\/\/[a-z]{0,4}[\.]*imgur+\.[a-zA-Z]{2,3}\/[a-zA-Z0-9]+(\/)*[a-zA-Z0-9]*[\.]*(jpg|png|jpeg|gif)*/g
(http|https)
:检查网址中的http
或https
[a-z\.]{0,4}
:检查www./i.
等。(jpg|png|jpeg|gif)*
检测您的给定格式(如果有)现场演示here
答案 1 :(得分:1)
此模式将匹配您提供的所有网址
/http(s)?\:\/\/(.*\.)?imgur.com\/.*/
说明:
http
匹配文字字符' http' (s)?
可选择最多匹配一个' \:\/\/
匹配文字字符'://' (.*\.)?
可选择匹配任意数量的任何字符,后跟句点/点imgur.com\/
匹配' imgur.com /' .*
匹配任意数量的任何其他字符