PHP preg_匹配2个变量之间的所有内容

PHP preg_匹配2个变量之间的所有内容,php,preg-replace,preg-match,Php,Preg Replace,Preg Match,我手上有一个被黑客入侵的网站,所有代码中都注入了内容。 每个注入的内容块前面都有一个hastags(#)之间的变量 我的问题是,;我将使用哪种preg_match/preg_replace语法来查找两个变量之间的内容 总是这样的: #4k4j3k# all-sorts-of-php-code #/4k4j3k# 请注意,哈希标记之间的代码总是不同的。 不过,hashtag总是存在的。结束标签与开始标签相同(条/) 提前谢谢 首先,我不知道你想做什么尝试修复该网站上的安全漏洞。下面的正则表达

我手上有一个被黑客入侵的网站,所有代码中都注入了内容。 每个注入的内容块前面都有一个hastags(#)之间的变量

我的问题是,;我将使用哪种preg_match/preg_replace语法来查找两个变量之间的内容

总是这样的:

#4k4j3k#

all-sorts-of-php-code

#/4k4j3k#
请注意,哈希标记之间的代码总是不同的。 不过,hashtag总是存在的。结束标签与开始标签相同(条/)


提前谢谢

首先,我不知道你想做什么尝试修复该网站上的安全漏洞。下面的正则表达式仅供说明

将此正则表达式与
s
模式修饰符一起使用,以匹配新行内容

preg_match_all('/\#4k4j3k#(.*?)\#\/4k4j3k#/s', $text, $matches);
print_r($matches[1]);

尝试一下:

$content = preg_replace('~#([^#]+)#.*?#/\1#~', '', $content);

不要依赖正则表达式来清理被黑客攻击的网站。你错过某件事的机会太大了。从备份中还原文件,或者在需要时重新安装。在简单的情况下,不需要使用regexps。请看这里的答案:@Gerald Schneider,没错。但不是我的服务器,不是我的网站,没有备份,仍然想帮助别人:)最后,这看起来也不错。但它需要搜索静态值。我在hashtags之间有可变的数字。是的,对于这个特定的版本来说,这就足够了。但是有数百个标签,所有标签之间都有不同的变量。我想一次找到/清除所有文件当然:)不,为什么要修改受感染的文件?只需清除它们并将新版本的文件复制到那里。在此之前,请更改您的SFTP/FTP登录信息。我没有确切的数字,但它可能是3.500个注入文件。。。你是不是建议我把它们都单独清除掉我没有说手动,你也可以自动完成,对吗?与其修改3500注入文件,我建议清除并上传文件的更新版本。