Я ищу для преобразования текстового списка URL-адресов в интерактивные ссылки.Преобразование текстового списка URL-адресов в интерактивные ссылки HTML
<!DOCTYPE html>
<body>
<script>
// http://stackoverflow.com/questions/37684/how-to-replace-plain-urls-with-links
function replaceURLWithHTMLLinks(text) {
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/
%=~_|])/ig;
return text.replace(exp,"<a href='$1'>$1</a>");
}
var a1 = document.getElementById("test").innerHTML;
var a2 = replaceURLWithHTMLLinks(a1);
document.getElementById("test").innerHTML = a2;
</script>
<div id="test">
http://www.site.com/
http://www.site2.com/
http://www.site3.com/
</div>
</body>
</html>
Firebug возвращает список сайтов в консоли для:
document.getElementById("test").innerHTML;
именно:
www.site.com/
www.site2.com/
www.site3.com/
Зачем нужна эта ошибка для строки ниже?
var a1 = document.getElementById("test").innerHTML;
TypeError: document.getElementById (...) является нулевым
Почему вы хотите это сделать? Если вы пытаетесь очистить URL-адреса, вы можете использовать DOMDocument PHP вместо JavaScript. Лично я редко вижу ссылки на странице, которые не являются фактическими ссылками. – PHPglue