Линк в моментари

critrate

Registered
Здравейте.Вероятно въпроса ми ще бъде тъп и елементарен,но просто не мога да се сетя в момента защо става така.

Като напиша коментар в сайта ми ,и той е примерно : http://google.bg/

после коментара ми излиза http://google.bg/ но не става на линк,само като текст си седи.От какво може да е това?Само при записване минавам с addslashes и htmlspecialchars.
 
Тоест, искаш в коментарите си да имаш линк? Ако съм те разбрал правилно ползвай най-лесно preg_replace.

Заповядай.
(това е част от един мой BBCode)

----- error message -----

Използвай го при изваждане на резултата от базата пример;

----- error message -----

Ако някъде скрипта намери линк, то той ще бъде направен на връзка. :)
 
не ми изкарва нищо.Ако напиша http://saita.com/ си излиза нормално,но ако напиша www.saita.com нищо не изкарва.

Аз вече схванах как да си го оправя,просто пуснах темата,защото ми мислех,че може и без регуларен израз.Ще си го оправя сега +1 за помоща.
 
Моя грешка. Така трябва да бачка :)

Код:
<?php
$comment = "Примерен пробен текст. С връзка http://google.bg :) Примерен пробен текст. С връзка http://google.bg :) Примерен пробен текст. С връзка http://google.bg :) Примерен пробен текст. С връзка http://google.bg :) Примерен пробен текст. С връзка http://google.bg :) Примерен пробен текст. С връзка http://google.bg :) Примерен пробен текст. С връзка http://google.bg :) ";
$comment = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $comment);
echo $comment;
?>
 
critrate каза:
не ми изкарва нищо.Ако напиша http://saita.com/ си излиза нормално,но ако напиша www.saita.com нищо не изкарва.

Аз вече схванах как да си го оправя,просто пуснах темата,защото ми мислех,че може и без регуларен израз.Ще си го оправя сега +1 за помоща.


Не излиза като линк, защото, както добре знаеш, в HTML линк се задава, чрез енкър(anchor) тага, а в случая ти като изведеш коментара той ти се състои в някакъв див например под формата на текст. Самия браузър го разчита като обикновен текст, а не като линк. Затова в такива случаи най-често се ползват регулярни изрази, за да засичаш линковете и да ги променяш на <a href...>
 

Back
Горе