Ich habe eine Funktion, von der ich dachte, ich hätte daran gearbeitet, eine URL durch einen HTML-Link zu ersetzen, wenn jemand etwas in einem unserer Formulare einreicht. Wenn der Benutzer beispielsweise eine URL mit einem Leerzeichen eingibt:
company.sharepoint.com/sites/testsite/shared documents/forms/allitems.aspx
Die Funktion schneidet alles nach dem Leerzeichen ab.
Unten ist mein Code:
ReplaceURLwithHTMLLinks: function(text) {
if (text!=null && text.length > 0) {
var exp = /(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|}{\[\]\(\)"'])/i;
if (text.indexOf("-") > -1) {
var linkText;
if (text.indexOf("company.sharepoint.com") > -1
linkText = text.substring(0, text.indexOf('-') - 1) + " - SharePoint";
else
linkText = text.substring(0, text.indexOf('-') - 1);
var newLink = text.replace(exp, "<a target='_blank' rel='noopener noreferrer' href='$1'>" + linkText + "</a>";
return newLink.substring(newLink.indexOf("<a"));
}
}
else {
return test;
}
}
Ich versuche herauszufinden, wie ich Leerzeichen durch %20 ersetzen kann, damit der HTML-Link weiterhin ordnungsgemäß geladen werden kann
Vielen Dank
Lösung des Problems
Könntest du das versuchen?
text.replace(/\s/g, "%20");
Es ersetzt alle Leerzeichen durch %20
Keine Kommentare:
Kommentar veröffentlichen