我書面方式一個小的腳本,用戶添加URL到一個文本,我發現這個litttle函數來驗證單鏈接:驗證url數組?
function isValidURL($url){
return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url);
}
,但我需要它來驗證鏈接
我一個數組使用爆炸到單獨的每個這樣的:
$urls = explode("\n", $_POST['urls']);
我明白,我需要循環使用foreach
,但我怎麼能得到的foreach $var
裏面我URL的數組
例子:
function isValidURL($url){
return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $valid);
}
$urls = array('http://iamvalid.com','iamnotvalid.com','http://iamvalidaswell.com');
foreach ($urls as $check) {
$validate = isValidURL($check);
}
if($check != $validate) {
// If fail
$result = 'fail';
} else {
// If pass
$result = 'pass';
} // if
echo $result;
(使用數組,而不是expode用於演示目的)
更新: Deepaks答案的偉大工程,但我的MySQL注射預防功能
衝突衝突的功能:
function sanitizeSQL($input) {
if(get_magic_quotes_gpc() == true){
$input = stripslashes($input);
}
return mysql_real_escape_string(htmlspecialchars($input));
}
什麼問題?在驗證之前,可能會對每個值進行爆炸,迭代,修剪。什麼不行? –