HTML — PHP делает кликабельные ссылки

У меня здесь есть функция, которая создает кликабельную ссылку:

function makeClickableLinks($text) {
$notIncludedonLink = preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i', '', $text);  // removing not included on the link
$urlLink = str_replace($notIncludedonLink,'',$text);
$finalText = str_replace($urlLink,'<a href="'.$urlLink.'" target="_blank">'.$urlLink.'</a>',$text);
return $finalText;
}

Но вместо того, чтобы возвращать простую кликабельную ссылку:

http://docs.google.com/

он отображает:

<a href="http://docs.google.com/" target="_blank">http://docs.google.com/</a>

Я пытался с помощью htmlentities но это не работает

Вот код JS, который отправляет данные на сервер:

function checkNewLink() {
var latestId = $("input[name=latestLink]").val();
$('.newReply').load("links/ajax.php?action=newreply&msgid=<?php echo $msgId; ?>&latestid=" + latestId);
}
setInterval("checkNewLink()", 200);

где latestId содержит введенную ссылку. Он будет отправлен на ajax.php. Каждые 200 мс будет проверяться наличие новой введенной ссылки.

-3

Решение

<?php
function makeClickableLinks($text){
return preg_replace('!(((f|ht)tp(s)?://)[-a-zA-Zа-яА-Я()0-9@:%_+.~#?&;//=]+)!i', '<a href="$1" target="_blank">$1</a>', $text);
}

echo makeClickableLinks('test http://docs.google.com/ test');

выходной код (http://codepad.org/EZE1HFZ4)

тестовое задание http://docs.google.com/ тестовое задание

ПОСЛЕ ОБНОВЛЕНИЯ

менять

setInterval("checkNewLink()", 200);

в

setInterval(function(){ checkNewLink() }, 200);

читать setInterval () метод

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]