Zostałem skierowany do projektu Linkify na GitHub (https://github.com/cowboy/javascript-linkify) w celu znalezienia i "linkowania" adresów URL i domen po prostu unoszących się w tekście.Zastąpić węzeł tekstowy tekstem HTML w JavaScript?
To świetnie! To całkowicie działa na tekst!
Jednak nie jestem do końca pewien, jak sprawić, żeby działało na węźle tekstowym, który ma tekst, który chcę Linuksować.
Rozumiem, że textNode ma tylko textContent ponieważ .. to cały tekst. Ponieważ funkcja Linkify zwraca HTML jako tekst, czy istnieje sposób na przejęcie obiektu tekstowego i "przepisanie" zawartego w nim kodu HTML z wyjściem Linkify?
Grałem z nim na JSFiddle tutaj: http://jsfiddle.net/AMhRK/9/
function repl(node) {
var nodes=node.childNodes;
for (var i=0, m=nodes.length; i<m; i++)
{
var n=nodes[i];
if (n.nodeType==n.TEXT_NODE)
{
// do some swappy text to html here?
n.textContent = linkify(n.textContent);
}
else
{
repl(n);
}
}
}
Twój przykładowy kod jest tak brudny i tak bardzo, że nawet nie wiem, od czego zacząć! Czy możesz go trochę posprzątać i po prostu mieć normalny przykład i ten, który chcesz z textNode? –
http://jsfiddle.net/AMhRK/4/ – Ryan
@ryan jest blisko, ale widzisz, że to już zawiązuje poprawnie już połączone adresy URL. – Jippers