如何使用正则表达式 preg_replace php 删除字符串
How to delete string with regex preg_replace php
我有这样的完整字符串:
Route::post('asdasdasdad/{param1}/{param2}', 'Admin\RouteController@a212e12e');
.
并想删除那条路线,所以在 preg_replace
我专注于
Route::post('asdasdasdad
作为开始文本和
Admin\RouteController@a212e12e');
作为最后一个文本。
这是我的尝试
preg_replace("/Route::post('asdasdasdad\(.*Admin\RouteController@a212e12e');\s*/s", "", $string);
但它不起作用。
你的正则表达式中有一些错误,一些未转义的正则表达式字符。试试这个
preg_replace("/Route::post\('asdasdasdad.*Admin\\RouteController@a212e12e'\);\s*/s", "", $string);
如果要一次性替换多行
preg_replace_all("/Route::post\('asdasdasdad.*Admin\\RouteController@a212e12e'\);\s*/s", "", $string);
就像您将 multi line
修饰符添加到您的正则表达式
一样
$string = file_get_contents('route.php');
$string = preg_replace("/Route::post\('asdasdasdad.*Admin\\RouteController@a212e12e'\);\s*/s", "", $string);
echo $string;
您得到删除了 EOL
的行
我有这样的完整字符串:
Route::post('asdasdasdad/{param1}/{param2}', 'Admin\RouteController@a212e12e');
.
并想删除那条路线,所以在 preg_replace
我专注于
Route::post('asdasdasdad
作为开始文本和
Admin\RouteController@a212e12e');
作为最后一个文本。
这是我的尝试
preg_replace("/Route::post('asdasdasdad\(.*Admin\RouteController@a212e12e');\s*/s", "", $string);
但它不起作用。
你的正则表达式中有一些错误,一些未转义的正则表达式字符。试试这个
preg_replace("/Route::post\('asdasdasdad.*Admin\\RouteController@a212e12e'\);\s*/s", "", $string);
如果要一次性替换多行
preg_replace_all("/Route::post\('asdasdasdad.*Admin\\RouteController@a212e12e'\);\s*/s", "", $string);
就像您将 multi line
修饰符添加到您的正则表达式
$string = file_get_contents('route.php');
$string = preg_replace("/Route::post\('asdasdasdad.*Admin\\RouteController@a212e12e'\);\s*/s", "", $string);
echo $string;
您得到删除了 EOL
的行