我整个下午都试图寻找一个好的解决方案,但没有运气。
这是问题所在: 我有一个旧的HTML网站。我必须改变以这种方式构建的每个链接:
<a href="javascript: OpenImage('/dir1/dir2/Image321.jpg',' Image description ');void(0);">
标准a href:
<a href="/dir1/dir2/Image321.jpg" title="Image description">
我想我必须寻找以&#34; avascript开头的href:&#34;
$("a[href^='javascript:']")
并使用正则表达式进行更改..
但经过数千次测试后,我无法解决..
有什么想法吗? 感谢
答案 0 :(得分:0)
(<a href=")[^']+'([^']+)','([^']+).*
试试这个。$1$2" title="$3">
。见。演示。
http://regex101.com/r/lZ5mN8/14
var re = /(<a href=")[^']+'([^']+)','([^']+).*/gm;
var str = '<a href="javascript: OpenImage(\'/dir1/dir2/Image321.jpg\',\' Image description \');void(0);">';
var subst = '$1$2" title="$3">';
var result = str.replace(re, subst);
答案 1 :(得分:0)
试试这个:
var re = /(^<a\s*href=")javascript:\s*OpenImage\('(.*)'\s*,\s*'(.*)'([^<]+)">/gmi;
var str = '<a href="javascript: OpenImage(\'/dir1/dir2/Image321.jpg\',\' Image description \');void(0);">\n\n<a href="javascript: OpenImage(\'/dir1/dir2/Image321.jpg\',\' Image description \');void(0);"> djhjdh</a>\n\n<a href="javascript: OpenImage(\'/dir1/dir2/Image321.jpg\',\' Image description \');void(0);"><img src="asdf"></a>';
var subst = '\1\2" title="\3">';
var result = str.replace(re, subst);