问题描述
|
我有很多.php文件,其中的代码模式-我要删除。
例如
<?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运行不同的公式,但是没有一个公式可以实现它。我也相信解决方案在很多情况下都会有所帮助,但这只是我自己找不到解决方案。
解决方法
您将需要使用向后引用...在正则表达式中,您可以在括号中编码要匹配的部分....例如
如果您的模式是/([A-Z] +)([0-9] +)([A-Z] +)/
而您要替换的是\\ 2
AAA123ZZZ-> 123
(请参阅:http://php.net/manual/en/function.preg-replace.php,后退部分,因为涉及语法时有一些陷阱)