Javascript正则表达式修复不替换图像url
javascript regex fix for not replacing image url
我使用regex将字符串中的所有url
替换为<a href="url">url</a>
。
我使用
if(!String.linkify) {
String.prototype.linkify = function() {
// http://, https://, ftp://
var urlPattern = /'b(?:https?|ftp):'/'/[a-z0-9-+&@#'/%?=~_|!:,.;]*[a-z0-9-+&@#'/%=~_|]/gim;
// www. sans http:// or https://
var pseudoUrlPattern = /(^|[^'/])(www'.['S]+('b|$))/gim;
// Email addresses
var emailAddressPattern = /['w.]+@[a-zA-Z_-]+?(?:'.[a-zA-Z]{2,6})+/gim;
return this
.replace(urlPattern, '<a href="$&">$&</a>')
.replace(pseudoUrlPattern, '$1<a href="http://$2">$2</a>')
.replace(emailAddressPattern, '<a href="mailto:$&">$&</a>');
};
}
和
mystr.linkify();
它来自这里,https://stackoverflow.com/a/7123542/1602333
效果很好除非字符串中有img标签,它会替换
<img src="imgurl"/>
到<img src="<a href="imgurl">imgurl</a>"
我应该对我的正则表达式做哪些更改,以不替换一些标签属性的一部分url ?
使用Autolinker.js
,众所周知,链接是可靠的。
参见其他标签/属性内链接的描述部分:
将正确处理HTML输入。实用程序不会改变锚(
<a>
)标签内的href
属性(或任何其他标签/属性),并且不会意外地将锚标签的内部文本包装为新的(这会导致双嵌套锚标签)。
下面是使用它的一个例子:
var linkedText = Autolinker.link(input_html, { className: "myLink" } );
相关文章:
- 用Javascript替换图像和图像标题/alt文本
- 用 jquery 替换图像和类
- 用于多次替换图像的 Jquery 按钮
- JavaScript/PHP 从数据库动态替换图像源
- 单击时切换和替换图像
- 重新加载/替换图像 jQuery 作为
- 中的列表项
- 快速替换图像 src 时 Firefox 中的内存使用情况
- 用不同的图像/按钮替换图像 - javascript
- 检测网址/链接,并用 img 标签替换图像,用 href 替换链接
- 使用Kinetic.js html5画布替换图像上的文本
- 用javascript替换图像上的src
- 用jquery替换图像文件名
- 用Aviary/Creave SDK图像编辑器替换图像
- 在CLick上替换图像SRC
- jquery按时间间隔替换图像
- 用jQuery替换图像
- 在点击时用视频替换图像
- 在使用图像的地方替换图像- Javascript
- 在表格单元格内替换图像不起作用
- 一个错误事件添加一个新类并计算它替换图像源的次数