使用正则表达式删除包含特定术语的整个标签
Removing entire tags containing a specific term using regex
我正在使用 phpmyadmin 修改一个大约有 500 html 页的数据库。
多个页面包含我要删除的 Facebook 像素或 Google 标签。
我认为最简单的方法是通过正则表达式搜索包含与 Facebook 或 Google 相关的某些表达式或术语的整个标签,并将其替换为空白。
一个例子是
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXX');
</script>
或
<script>
(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '9999999999999999');
fbq('track', 'salespage_xxxxxx');
</script>
尽管它们都是独一无二的,但有些具有相同的代码或其他元素,因此可以识别它们中的每一个。
在 myphpadmin 运行 之前,我尝试使用 SublimeText3
来制定表达式
这是我第一次接触正则表达式,我发现它很吸引人,但即使按照一些参考资料我也无法匹配搜索。
我经过一番研究想出的表达方式是
<(.*)>[\s\S]face[\s\S]<\/(.*)>
我认为表达式 select 包含单词“face”的整个标签,但它没有找到任何东西。
我需要一些帮助。
如果可行,它将能够进行其他几项必要的更改。
此正则表达式将匹配包含 face
关键字的 <script>
标记
<(script)>(?:(?!<\/>|face)[\s\S])+face(?:(?!<\/>)[\s\S])+<\/>
我正在使用 phpmyadmin 修改一个大约有 500 html 页的数据库。 多个页面包含我要删除的 Facebook 像素或 Google 标签。
我认为最简单的方法是通过正则表达式搜索包含与 Facebook 或 Google 相关的某些表达式或术语的整个标签,并将其替换为空白。
一个例子是
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXX');
</script>
或
<script>
(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '9999999999999999');
fbq('track', 'salespage_xxxxxx');
</script>
尽管它们都是独一无二的,但有些具有相同的代码或其他元素,因此可以识别它们中的每一个。
在 myphpadmin 运行 之前,我尝试使用 SublimeText3
来制定表达式这是我第一次接触正则表达式,我发现它很吸引人,但即使按照一些参考资料我也无法匹配搜索。
我经过一番研究想出的表达方式是
<(.*)>[\s\S]face[\s\S]<\/(.*)>
我认为表达式 select 包含单词“face”的整个标签,但它没有找到任何东西。
我需要一些帮助。
如果可行,它将能够进行其他几项必要的更改。
此正则表达式将匹配包含 face
关键字的 <script>
标记
<(script)>(?:(?!<\/>|face)[\s\S])+face(?:(?!<\/>)[\s\S])+<\/>