我想编写一个JavaScript函数,它将一些简单的BBcode标签(如[红色] [/红色])转换为Html标签。我认为replace()函数是最好的方法。我写了一个简单的测试函数来尝试它,但似乎并不奏效。用数组元素的RegExp替换()
/**
* @function
* @description Replaces the bb-tags with html-tags
*/
function bbToHtml(form) {
debugger
var text = form.text.value;
bbTags = new Array("[red]", "[yellow]", "[green]", "[/red]", "[/yellow]", "[/green]");
htmlTags = new Array("<font color='red'>", "<font color='yellow'>", "<font color='green'>", "</font>", "<font>", "</font>");
for (var i = 0; i < bbTags.length; i++) {
var re = new RegExp(bbTags[i], "g");
text = text.replace(re, htmlTags[i]);
}
alert(text);
}
应该转换"[red]hello[/red]"
到"<font color='red'>hello</font>"
,但它只是给了我一个奇怪的字符串。
出了什么问题?我认为这与我的正则表达式有关。
你可以把你的“它应该转换”...在代码块 - 我认为有一些HTML结构没有出现在问题中。此外,你可以显示“怪异的字符串”是什么? – Floris
是的,什么是奇怪的字符串? –
及其类似的东西,但更长:吨>吨>吨Ç吨>吨>吨><吨>˚F吨>吨> = \ –
RandomUser123