【发布时间】:2012-08-10 03:28:31
【问题描述】:
我在 RegExr 中编写了一个正则表达式来处理以下字符串:
<?php _on*/4353452f43f43f46 xx46 _off*/ ?>
这是正则表达式代码:
(.*<?php.*)(.*_on.*)(.*_off.*)(.*?>)
这里运行良好:
但它不适用于 PHP,我收到奇怪的错误,例如:“未知修饰符 '
我需要做什么才能将其转换为与 PHP 一起使用?
这是我的 php 代码:
$virusstring = '(.*/<?php.*)(.*_on.*)(.*_off.*)(.*?>)';
if(preg_match($virusstring,$myfile)) {
$fixed = preg_replace($virusstring,'',$myfile);
$blah = file_put_contents($item, $fixed);
}
$myfile 只是从正在扫描的受感染文件中获取的。
【问题讨论】:
-
向我们展示您尝试使用的 PHP 代码。
-
如果您显示您的 PHP 代码,这将更容易排除故障。
-
PHP 使用 PCRE(与 PREG 兼容),也许您正在使用的 RegExr 不使用。
-
尝试使用 this tester 并选择 PREG。你会看到你的 RegEx 失败了。