Użytkownik pisze np. Komentarz i wkleja link, klika na Dodaj komentarz zostaje wysłany i zamiast tekstowego linku jest link klikalny, lub jeszcze lepiej link tekstowy zamienił się w link klikalny o treści [LINK]
jeszcze raz ;]
Pisze komentarz…
"Cześć u mnie spox a u ciebie? Widziałaś już to?http://google.pl/fajna wyszukiwarka ^^"
A po wysłaniu wygląda to tak
“Cześć u mnie spox a u ciebie? Widziałaś już to? [LINK] fajna wyszukiwarka ^^”
scripter1 , niby banał, ale w pierwszym przypadku - użytkownik musi umieć kliknąć w ikonkę z bbcodem (różni ludzie się trafiają), ewentualnie sam wpisać bbcode (a autor wątku zaznaczył, że nie chce go używać). W drugim przypadku jest jeszcze gorzej, bo użytkownik musi znać HTML-owy zapis linku, a aplikacja bez odpowiedniego zabezpieczenia może być podatna na atak XSS.
Saver , można to zrobić sprawdzając tekst użytkownika wyrażeniem regularnym na obecność fraz rozpoczynających się na ‘www.’, czy ‘http://’ i pasujące fragmenty zamieniać na link, a szczegóły np. tu: zamiana adresów na linki.
<?php
function tekst_na_link($text){
$wzorzec = array( '/[a-zA-Z]{1,2}tp[s]?:\/\/[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,4}(:[0-9]*)?\/[^\n\s]*/',
'/([^\/]{2})(www\.[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,4})/');
$zamiana = array( '\0',
'\1[LINK]');
$text = preg_replace($wzorzec, $zamiana, $text);
return $text;
}
$text = 'To jest bardzo fajna strona www.google.pl a widziałaś już tą? http://google.pl tez fajna...';
echo tekst_na_link($text);
?>[/code]
I link naprawdę zamienia się w link klikalny, ale tylko kiedy jest w formie, www.google,pl ale już nie zamienia kiedy jest w http://google.pl czy też http://www.google.pl