Witam. Mam pewien problem. Próbuję napisać wyrażenie regularne które usuwa z podanego tekstu wszystkie linki. Usuwanie linków które objęte są znacznikami <a>...</a> mam napisaną i dobrze działa. Ale ponadto chciałem mieć jeszcze usuwanie linków bez <a> (np.
http://forum.php.pl lub www.php.net). Próbowałem coś takiego:
$text = 'testowy adres: http: //www.wp.pl, a tu jest jeszcze jakis tekst'; // między http: a slashem tutaj celowo dałem spację bo robi z tego hiperłącze na forum, normalnie nie ma tam odstępu
$text = preg_replace("/(http|ftp|news)s?:\/(.+)(\s){1}/i", "", $text); echo $text; // testowy adres: tekst
Problem jest taki że powinien przy pierwszej spacji kończyć, ale on szuka do ostatniej. Co jest źle w tym wyrażeniu regularnym?
Z góry dziękuję za pomoc.