Я задавался вопросом, как я мог проверить строку, в которую врываются массив против 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();
}
}
Спасибо! Stefan
Вы хотите что-то вроде:
%^((https?://)|(www\.))([a-z0-9-].?)+(:[0-9]+)?(/.*)?$%i
здесь используется | чтобы соответствовать http: //
или www
в начале. Я изменил разделитель на %
, чтобы избежать конфликтов с |
Try implode($myarray, '').strstr("www.")==0
. Это имплозирует ваш массив в одну строку, затем проверяет, находится ли www.
в начале строки (индекс 0).