正则表达式从文件中删除模式

时间:2011-05-25 16:05:45

标签: php regex replace

我有很多.php文件,它们都有代码模式 - 我想删除它。

e.g。

<?php echo $arrayT["Hello,This text varies. I want to keep this text only."]; ?>
<?=$arrayT["Hello,This another text varies. I want to keep this text only."]; ?>

PHP文件太多,所有文件都包含以上任何代码作为行的一部分。

我想删除部分

<?php echo $arrayT["' and '"]; ?>

但仅在行包含

的情况下
<?(php echo |=)$arrayT["Hello,This text varies. I want to keep this text only."]; ?>

代码中的完整字符串。

我尝试通过CLI运行不同的公式,但没有一个接近实现它。此外,我认为解决方案在许多情况下都会有所帮助,但它只是我自己无法找到解决方案。

1 个答案:

答案 0 :(得分:0)

你需要使用反向引用...在你的正则表达式中你可以编码你在parens中匹配的部分....

如果你的模式是/([A-Z] +)([0-9] +)([A-Z] +)/ 而你的替代者是\ 2

AAA123ZZZ - &gt; 123

(参见:http://php.net/manual/en/function.preg-replace.php,backrefrences部分,因为在语法方面存在一些问题)