如何查找以“/”开头且包含"php"的网址?
How to find URLs that starts with "/" and contain "php"?
我有一个 95MB XML 的内容文件,它是从旧 CMS(通过 Wordpress 的 Drupal)转移到新 CMS(Squarespace)的。
Squarespace 导入过程不断中断,似乎归结为 link 试图在新服务器中执行 PHP。
例如:
<img src="/generate-image.php">
在导入过程中,新 CMS 将此识别为内部 link 并尝试执行该 URL 以导入内容,将其视为攻击或代码注入尝试并关闭过程。
所以我想要一种查找以“/”开头并包含 "php" 的 URL 的方法,以便我可以删除它们。
我应该清楚我只想识别内部 links 而不是外部 links 到其他网站。
这可以通过 Regex 实现吗?如果我可以将 Regex 语句插入 Atom & Find/Replace.
,我真的很想避免编写脚本来执行此操作
是的,这可以通过 Regex 实现。试试这个:
(\/*)[\w.]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!$&'\(\)\*\+,;=.]+\b.php\b
它将匹配所有可能的有效字符URL。
使用 negated class.
一些简单的正则表达式如何?
"\/[^\s"'><]+\.php
[^\s"'><]
匹配除 white space、引号、greater/lesser 符号 之外的任何字符
- 如果需要,在
php
之后添加 word boundary \b
Here is the demo at regex101 comparing internal php links to external php links
我有一个 95MB XML 的内容文件,它是从旧 CMS(通过 Wordpress 的 Drupal)转移到新 CMS(Squarespace)的。
Squarespace 导入过程不断中断,似乎归结为 link 试图在新服务器中执行 PHP。
例如:
<img src="/generate-image.php">
在导入过程中,新 CMS 将此识别为内部 link 并尝试执行该 URL 以导入内容,将其视为攻击或代码注入尝试并关闭过程。
所以我想要一种查找以“/”开头并包含 "php" 的 URL 的方法,以便我可以删除它们。
我应该清楚我只想识别内部 links 而不是外部 links 到其他网站。
这可以通过 Regex 实现吗?如果我可以将 Regex 语句插入 Atom & Find/Replace.
,我真的很想避免编写脚本来执行此操作是的,这可以通过 Regex 实现。试试这个:
(\/*)[\w.]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!$&'\(\)\*\+,;=.]+\b.php\b
它将匹配所有可能的有效字符URL。
使用 negated class.
一些简单的正则表达式如何?"\/[^\s"'><]+\.php
[^\s"'><]
匹配除 white space、引号、greater/lesser 符号 之外的任何字符
- 如果需要,在
php
之后添加 word boundary\b
Here is the demo at regex101 comparing internal php links to external php links