javascript - 如何从页面源代码中使用正则表达式获取<script>代码?

标签 javascript regex

我想获取脚本代码,除了外部引用脚本。 例如:我想获取代码:

<script type="text/javascript">alert("test");</script> 

从下一个开始:

var s ='<script type="text/javascript" src="image/plupload/plupload.js"></script><script type="text/javascript" src="image/plupload/plupload.flash.js"></script><script type="text/javascript" src="image/plupload/plupload.html4.js"></script><script type="text/javascript" src="image/plupload/plupload.html5.js"></script><script type="text/javascript">alert("test");</script>'

p = /<(script)\s+((language=['"]?javascript['"]?)|(type=['"]?text\/javascript['"]?))?\s*\/?>.*(?:<\/\1>)?/gi;
var arr = new Array();
while(arr = p.exec(s)) 
alert(arr[1]+','+arr[1]+','+arr[2]);

但是正则表达式是错误的,我无法得到正确的结果

最佳答案

Never parse HTML with regex. The <center> cannot hold.

要么给你的脚本一个独特的 id并使用document.getElementById(MyId).textContent ,或者只是使用 document.getElementsByTagName('script')[i].textContent for 循环它们.

关于javascript - 如何从页面源代码中使用正则表达式获取&lt;script&gt;代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9660600/

相关文章:

javascript - React - 如何将输入字段(受控)重置为默认值

javascript - 我如何重构这些脚本标签?

javascript - Dojo FilteringSelect - 将下拉列表中的特定选项动态标记为禁用(灰色且不可选择)

sql - 过滤 SQL 列中仅包含数字数据的行

javascript - JS - 通过正则表达式搜索带引号和不带引号的字符串

javascript - 在向上计数和向下计数时添加和删除元素

javascript - React Hooks 和 UseEffect 不使用 socketIO 数据更新显示。只渲染数组中的元素

双倍的正则表达式

sql - 正则表达式匹配常见的 SQL 语法?

javascript - JavaScript 如何检测正则表达式?