查找字符串中的所有< SCRIPT...>标记并获取它们的属性

bkhjykvo  于 2022-09-18  发布在  PHP
关注(0)|答案(0)|浏览(74)

我有一个文本区,网站管理员可以插入自己的JS。我需要获取他们的JS,重新格式化它,并在我自己的JS函数中输出它。

管理员在文本区域中放置的示例:

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-11111111-1" id="someID" data-param="someValue"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-11111111-1');
</script>

我需要把它变成:

myCallback(){
  getScript(https://www.googletagmanager.com/gtag/js?id=UA-11111111-1, {"async":true, "id": "someID", "data-param": "someValue"));
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'UA-11111111-1');
}

我可以用一个简单的txt.replace('<script>','')删除<script>标签;

然而,问题在于下载其他脚本并包含如下属性的脚本:

<script src="https://example.com/script.js" id="someID" data-par="123" data-par2="abc">

谁能告诉我如何在文本中找到它们,并将它们的参数放入我自己的函数getScript(src, {params})中。

更复杂的是,我需要在JS和PHP中都有它。JS用于在管理员输入代码时在浏览器上运行代码,而PHP用于代码清理。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题