【发布时间】:2016-02-01 15:36:01
【问题描述】:
function replaceTextFunction(g){
var replacedText,replacePattern1,replacePattern2,replacePattern3;
replacePattern1=/(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;
replacedText=g.replace(replacePattern1,'<a href="$1" target="_blank">$1</a>');
replacePattern2=/(^|[^\/])(www\.[\S]+(\b|$))/gim;
replacedText=replacedText.replace(replacePattern2,'$1<a href="http://$2" target="_blank">$2</a>');
replacePattern3=/(([a-zA-Z0-9\-\_\.])+@[a-zA-Z\_]+?(\.[a-zA-Z]{2,6})+)/gim;replacedText=replacedText.replace(replacePattern3,'<a href="mailto:$1">$1</a>');
return replacedText;
}
好的,所以我有这个功能。它的目的是解析字符串中的链接并为人工点击放置漂亮的包装器。在这方面效果很好。
我的问题是当我在字符串中有这样的图像时
<img src="http://yada.yada/image.jpg">
这样解析
<img src="<a href="http://yada.yada/image.jpg" target="_blank">">
当然,我不希望出现这种语法恐怖。请帮忙! :(
【问题讨论】:
-
你在做什么img锚定或锚定img?
-
仅使用您的解析器检查标签内的文本(例如
<p>http://</p>,而不是属性。
标签: javascript image replace href