gpt4 book ai didi

PHP RegEx 允许 mailto : http://and tel: hyperlinks

转载 作者:行者123 更新时间:2023-12-05 02:22:20 26 4
gpt4 key购买 nike

我需要做的是允许文本字段验证并允许 mailto: http://或 tel: 类型的 URL。

我正在使用 PHP 5(和 Laravel 4,但与本文无关)。

我已经在谷歌上搜索了一段时间,但我似乎无法找到允许匹配所有三种类型的表达式。我尝试了一些长而复杂的字符串,以及一些真正的短字符串,但它只返回 false。

这是我的最新消息:

mailto:([^\?]*)|http:([^\?]*)|tel:([^\?]*)

解决方案:

因为我使用的是 Laravel 4,所以我决定使用 parse_url 函数而不是正则表达式。也就是说,还提供了其他一些很棒的解决方案。

我的最终验证器函数:

    Validator::extend('any_url', function($attribute, $value)
{
$allowed = ['mailto', 'http', 'https', 'tel'];
$parsed = parse_url($value);

return in_array($parsed['scheme'], $allowed);
});

最佳答案

您可以使用 parse_url,它将为您提供 scheme。然后检查它是否在['mailto', 'http', 'https','tel']

关于PHP RegEx 允许 mailto : http://and tel: hyperlinks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29677337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com