使用 JQUERY 和正则表达式重写 URL

URL rewrite using JQUERY and REGULAR EXPRESSIONS

本文关键字:重写 URL 正则表达式 JQUERY 使用      更新时间:2023-09-26

我浏览了整个下午,试图找到一个好的解决方案,但没有运气。

这就是问题所在:我有一个旧的html网站。我必须更改以这种方式构建的每个链接:

<a href="javascript: OpenImage('/dir1/dir2/Image321.jpg',' Image description ');void(0);">

使用标准 A href:

<a href="/dir1/dir2/Image321.jpg" title="Image description">

我想我必须寻找以"avascript:"开头的 href

$("a[href^='javascript:']")

并使用正则表达式更改它。

但是经过数千次测试我无法解决它。

知道吗?谢谢

试试这个:

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);

现场演示

(<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);