Ya lo he solucionado. Por si a alguien le sirve:
Código PHP:
Ver original$u = 'cadena con urls';
$domain = 'dominio.com';
function filter_spam_urls($matches)
{
if (!strrpos($matches[1], $domain)) {
$matches[1] = 'URL de SPAM bloqueada.';
}
return $matches[1];
}
$host = "([a-z\d][-a-z\d]*[a-z\d]\.)+[a-z][-a-z\d]*[a-z]";
$port = "(:\d{1,})?";
$path = "(\/[^?<>\#\"\s]+)?";
$query = "(\?[^<>\#\"\s]+)?";
$reg = "#(((www.|(ht|f)tps?:\/\/){$host}{$path}{$query})|{$host}{$path}{$query})#i";
Las expresiones regulares son de
http://craftyman.net/expresiones-reg.../#validar_link solo las modifiqué un poco para que no solo requiriese http sino que cogiese también sin http y con www. y sin ambos.
Saludos!