我想从public function CreateUser最多删除文本//pfCreateUser。所以基本上我想删除函数CreateUser。例如test.php,我有一个名为的文件,在该文件中我有一个这样的文本。public function CreateUser(Request $request) { another code here, include a-zA-Z0-9 and special character... } //pfCreateUserpublic function CreateCompany(Request $request) { another code here, include a-zA-Z0-9 and special character... } //pfCreateCompany这是我尝试的$a = "test.php";$b = file_get_contents("test.php");file_put_contents($a, preg_replace("#public function CreateUser.*//pfCreateUser#m", "", $b));但它不起作用。我希望文件在删除文本后是这样的public function CreateCompany(Request $request) { another code here, include a-zA-Z0-9 and special character... } //pfCreateCompany
3 回答
叮当猫咪
TA贡献1776条经验 获得超12个赞
preg_replace对我来说工作正常,前提是我在 dot all 模式下使用它,并带有/s修饰符。我使用了以下模式:
public function CreateUser\(.*\/\/pfCreateUser\s*
示例脚本:
$output = preg_replace("/public function CreateUser\(.*\/\/pfCreateUser\s*/s", "", $input);
echo $output;
这打印:
public function CreateCompany(Request $request)
{
another code here, include a-zA-Z0-9 and special character...
} //pfCreateCompany
请注意.*,由于 dot all 模式,将匹配换行符/s。
万千封印
TA贡献1891条经验 获得超3个赞
你可以在一行中用一个小正则表达式来做这个,然后把你想删掉的第一个和最后一个词:
preg_replace('/public[\s\S]+?pfCreateUser/', '', $string);
慕标琳琳
TA贡献1830条经验 获得超9个赞
file_put_contents($a, preg_replace("/^public function CreateUser[\s\S]*?pfCreateUser/", "", $b));
- 3 回答
- 0 关注
- 153 浏览
添加回答
举报
0/150
提交
取消