Undlade anførselstegn (Reg.Exp.)
Hej Eksperter.Denne JQuery-kode er en del af en funktion, som finder tekstlinks i en større tekstsamling og gør dem til A-elementer:
var noProtocolUrl = /(?:^|["'(\s]|<)(www\..+?\..+?)(?:(?:[:?]|\.+)?(?:\s|$)|>|[)"',])/g,
httpOrMailtoUrl = /(?:^|["'(\s]|<)((?:(?:https?|ftp):\/\/|mailto:).+?)(?:(?:[:?]|\.+)?(?:\s|$)|>|[)"',])/g,
linkifier = function ( html ) {
return html
.replace( noProtocolUrl, ' <a href="<``>://$1" target="_blank">$1</a> ' ) // NOTE: we escape `"http` as `"<``>` to make sure `httpOrMailtoUrl` below doesn't find it as a false-positive
.replace( httpOrMailtoUrl, ' <a href="$1" target="_blank">$1</a> ' )
.replace( /"<``>/g, '"http' ); // reinsert `"http`
}
httpOrMailtoUrl = /(?:^|["'(\s]|<)((?:(?:https?|ftp):\/\/|mailto:).+?)(?:(?:[:?]|\.+)?(?:\s|$)|>|[)"',])/g,
linkifier = function ( html ) {
return html
.replace( noProtocolUrl, ' <a href="<``>://$1" target="_blank">$1</a> ' ) // NOTE: we escape `"http` as `"<``>` to make sure `httpOrMailtoUrl` below doesn't find it as a false-positive
.replace( httpOrMailtoUrl, ' <a href="$1" target="_blank">$1</a> ' )
.replace( /"<``>/g, '"http' ); // reinsert `"http`
}
Dog tager den nogle gange lidt for mange tegn med til sidst i URL-adressen. Tag fx.:
Han sagde: "Se her: http://test.com/"
Her ville linket komme til at indeholde det sidste anførselstegn.
Har I nogle bud på, hvordan jeg kan få den til at undlade anførselstegn i adressen?
Med venlig hilsen
Tobias
