Ste*_*n P 11 php regex url preg-match
我想知道如何在preg_match中检查一个字符串被分解成一个数组,看它是否以www开头.我已经有一个检查http:// www.
function isValidURL($url)
{
return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url);
}
$stringToArray = explode(" ",$_POST['text']);
foreach($stringToArray as $key=>$val){
$urlvalid = isValidURL($val);
if($urlvalid){
$_SESSION["messages"][] = "NO URLS ALLOWED!";
header("Location: http://www.domain.com/post/id/".$_POST['postID']);
exit();
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!斯特凡
Igo*_*any 13
你想要的东西:
%^((https?://)|(www\.))([a-z0-9-].?)+(:[0-9]+)?(/.*)?$%i
Run Code Online (Sandbox Code Playgroud)
这是使用| 匹配任何一个http://
或www
在开头.我更改了分隔符,%
以避免与|
小智 9
Daring Fireball的John Gruber针对可能感兴趣的所有类型的URL发布了一个非常全面的正则表达式.你可以在这里找到它:
http://daringfireball.net/2010/07/improved_regex_for_matching_urls