bganonymous
Registered
Здравейте! Имам поле $message. Ако полето съдържа някакъв линк, какъвто и да е - да даде грешка! Как става това? 
Follow along with the video below to see how to install our site as a web app on your home screen.
Бележка: This feature may not be available in some browsers.
То не е HTML код, а обикновено съобщение.lamerko каза:Ползвай функцията strip_tags(), като може да изброяваш дадени тагове, които да са РЗРЕШЕНИ - например за параграф и т.н.
if(preg_match("/(http:\/\/www\.|http:\/\/|https:\/\/|www|[a-zA-Z0-9-_]+\.|[a-zA-Z0-9\.-]+)(([a-zA-Z0-9-][a-zA-Z0-9-]+\.)+[a-zA-Z0-9-\.\/\_\?\%\#\&\=\;\~\!\(\)]+)/ui", $message)){
echo "zasicha linkowe";
}
preg_match('/www|https?|ftp/i', $var);
/(w.{0,2})\g{1}\g{1}/
http://google.com/
w _*w**w.site.com
h t t p://
www.google.com
w w w . google . com
some text htt p s: // w*w*w*.*google*.c*o*m
another example: w__w_*w . badsite.*com
$url = 'http://username:password@hostname:9090/path?arg=value#anchor';
if($is_url = parse_url($url)){
print_r($is_url);
}else{
echo 'Not url!';
}
Specify one of PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY or PHP_URL_FRAGMENT to retrieve just a specific URL component as a
echo '<pre>';
$url = 'www.google.bg/path?arg=value#anchor';
if($is_url = parse_url($url)){
print_r($is_url);
if($matches = preg_grep('/h.{0,3}t.{0,3}t.{0,3}p(?:.{0,3}s)?|w.{0,3}w.{0,3}w/',$is_url)){
print_r($matches);
}else{
echo 'Not url!';
}
}else{
echo 'Not url!';
}
echo '</pre>';
$message подсказва, че съдържа текст, в който евентуално има линк. Тоест може да бъде "Здравейте, отворете сайта ми www.example.com" и той иска да блокира това.dakata__92 каза:А защо не ползваш parse_url?
http://php.net/manual/en/function.parse-url.php
...
if( strstr($message, 'http:') || strstr($message, 'www.'))
{
echo "ne trqbwa da ima URL-i";
}
www . site . com
w w w / htt p / w__w__w / h`t`t`p
http://php.net/str%20str каза:If you only want to determine if a particular needle occurs within haystack, use the faster and less memory intensive function strpos() instead.