ich eine JavaScript-Funktion verwenden wie folge eine HTML-Blockquote auf einen Abschlag Blockquote zu konvertieren:regex ersetzen Zeichenfolge mit Dollarzeichen, Sonderbare Ausgang
function convertBlockquote(str) {
var r = str;
var pat = /<blockquote>\n?([\s\S]*?)\n?<\/blockquote>/mi; //[\s\S] = dotall; ? = non-greedy match
for (var mat; (mat = r.match(pat)) !== null;) {
mat = mat[1]
.replace(/\n/gm, '\n> ')
.replace(/<p>/igm, '\n> ')
.replace(/<\/p>/igm, '\n> \n> ')
.replace(/(\n> ?){3,}/gm, '\n> \n> ');
r = r.replace(pat, '\n>' + mat + '\n');
}
return r;
}
Also, wenn ich gehe in: <blockquote>Price: $1000 plus tax.</blockquote>
Ich würde erwarten: > Price: $1000 plus tax.
Aber ich bekomme: > Price: Price: $1000 plus tax.000 plus tax.
Beachten sie, wie es $1
im $ 1000 Teil der Zeichenfolge mit der gesamten ursprünglichen Zeichenfolge ersetzt?
Wie kann ich dies umgehen oder die Funktion aktualisieren, um dies zu handhaben (und andere spezielle Zeichen, die ähnliche Probleme verursachen könnten)?
Sind Sie auf der Suche [** für dieses **] (https://regex101.com/r/nJ4tO2/1), dh die Tags loswerden? – Jan
Nein, es ist eine rudimentäre Möglichkeit, bestimmte HTML-Tags durch "Markdown" -Syntax zu ersetzen. – GWR