我想用一个img替换文本:
<li class='custom'>
<legend>images:</legend>
{[img.png][1desc][2desc]} {[img2.png][1desc2][2desc2]}
</li>
我希望它显示为:
<li class='custom'>
<legend>images:</legend>
<img src="img.png" title="1desc - 2desc"/> <img src="img2.png" title="1desc2 - 2desc2"/>
</li>
我正在使用的当前代码(不起作用):
<script>
function textToImg(theImg) {
return theImg.replace(
/\{\s*[\s*(.*?)\s*]\s*[\s*(.*?)\s*]\s*[\s*(.*?)\s*]\s*\}/gi,
'<img src="$1" title="$2 - $3"/>'
);
}
jQuery('li.custom').each(function() {
current = jQuery(this);
IMG = textToImg(current.html());
current.html(IMG);
});
</script>
答案 0 :(得分:1)
看起来正则表达式中的[
和]
未正确转义。试试这个(demo):
function textToImg(theImg) {
return theImg.replace(
/\{\s*\[\s*(.*?)\s*\]\s*\[\s*(.*?)\s*\]\s*\[\s*(.*?)\s*\]\s*\}/gi,
'<img src="$1" title="$2 - $3"/>'
);
}