Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用英文和波斯语(波斯语)验证URL的PHP模式_Php_Regex_Validation_Url - Fatal编程技术网

用英文和波斯语(波斯语)验证URL的PHP模式

用英文和波斯语(波斯语)验证URL的PHP模式,php,regex,validation,url,Php,Regex,Validation,Url,我有一个模式,检查给定的url是否正确,这在英语中工作得非常好,但是当我给它波斯语字符时,它返回false,因为url无效 该代码适用于一些混合波斯语字符的URL,但不适用于其他URL!我可以在哪里进行更改,或者在这个模式中添加什么,以便它也可以用英语验证波斯语字符 // check if URL is valid format $pattern = '/^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})

我有一个模式,检查给定的url是否正确,这在英语中工作得非常好,但是当我给它波斯语字符时,它返回false,因为url无效

该代码适用于一些混合波斯语字符的URL,但不适用于其他URL!我可以在哪里进行更改,或者在这个模式中添加什么,以便它也可以用英语验证波斯语字符

// check if URL is valid format
$pattern = '/^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w]([-\d\w]{0,253}[\d\w])?\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.,\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.,\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.,\/\d\w]|%[a-fA-f\d]{2,2})*)?$/'; 
$isLink = preg_match($pattern, $url); // Returns true if a link    

您可以对波斯语字符使用u修饰符,但我不确定,因为您没有提供任何url来使用u修饰符进行检查

像这样试试

// check if URL is valid format
$pattern = '/^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?
([\d\w]([-\d\w]{0,253}[\d\w])?\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.,\d\w]|%[a-fA-f\d]{2,2})*)*
(\?(&?([-+_~.,\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.,\/\d\w]|%[a-fA-f\d]{2,2})*)?$/u'; 
$isLink = preg_match($pattern, $url); // Returns true if a link                   ^see   

你能提供一个不匹配的url吗?这个模式也匹配email和mailto:我使用u修饰语,但u修饰语不起作用。有没有其他的url检查方法?您能提供一个不匹配的url吗?例如:当用户使用小册子在网站中添加博客文章时。(博客地址:,)你可以在帖子中看到小册子的图片(蓝色方块)