请问老师正则应该怎么写?

作者站长头像
站长
· 阅读数 9

<div id=list1 > 哦空空 韩国的 https://www.baidu.com </div>

<div id=list2 > 哦fg空 u加上 https://www.baidu.com </div>

<div id=list3 > 改革认同 几节课 https://www.baidu.com </div>

<div id=list4 > 开机空 海港城 https://www.baidu.com </div>

上面是我的内容。我要用下面的正则给url加上链接。现在我还需要在链接后用一个隐藏文本框显示对应div的全部内容。难在有多个id。请问老师正则应该怎么写?

<script type="text/javascript">

var txt = document.getElementById('list').innerHTML;

var regexp = /(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|\&|-)+)/g;

txt1=txt.replace(regexp,function($url){
    
return "<a href='" + $url + "' target='_blank'>" + $url + "</a><input type=hidden value='" + txt + "'></input>";});;

document.getElementById('list').innerHTML=txt1
</script>
回复
1个回答
avatar
test
2024-07-14
`<div id=list1 > 哦空空
韩国的
https://www.baidu.com </div>

<div id=list2 > 哦fg空
u加上
https://www.baidu.com </div>

<div id=list3 > 改革认同
几节课
https://www.baidu.com </div>

<div id=list4 > 开机空
海港城
https://www.baidu.com </div>`.replace(/(<\s*?div[^>]*?>)((.|\s)*?)(https?:\/\/(\w|=|\?|\.|\/|\&|-)+)/g, function(str, $1, $2, $3, $4, $5, index, content){
    console.log(1, str)
    console.log(2, $1)
    console.log(3, $2)
    console.log(4, $3)
    console.log(5, $4)
    console.log(6, $5)
    console.log(7, index)
    console.log(8, content)
    return $1 + $2 + `<a href='${$4}' target='_blank'>${$4}</a><input type=hidden value='${$2 + $4}'></input>"`
})
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容