php - php preg_replace 替换文本文件中的空格
问题描述
我正在尝试使用preg_replace
.Content in text 从文本文件中删除一些内容,如下所示
1
*useless*Text
Steve Waugh
如何转换内容
1 Steve Waugh
我的代码在下面。它不起作用。我不知道我在哪里犯了错误?
$content = file_get_contents('test.txt');
$content = preg_replace('/\s[*]useless[*]Text\s/', ' ', $content);
file_put_contents('test.txt', $content);
解决方案
如果您想保持缩进之前*useless*Text
,使其Steve Waugh
在结果之前,您可以使用捕获组。
\h*\R(\h+)[*]useless[*]Text\s*
\h*\R
匹配 0+ 个水平空白字符和一个 Unicode 换行符序列(\h+)
捕获组 1,匹配 1+ 水平空白字符[*]useless[*]
匹配*useless*
Text\s*
匹配Text
和 0+ 个空白字符
在更换使用$1
preg_replace('/\h*\R(\h+)[*]useless[*]Text\s*/', '$1', $content);
要替换为预定的空格,您可以使用
\s*[*]useless[*]Text\s*
preg_replace('/\s*[*]useless[*]Text\s*/', ' ', $content);
推荐阅读
- sql - 如何在 Redshift 中获取函数参数大小?
- google-cloud-platform - 如果我将我的应用程序部署到 GCP,我能否以某种方式让 google bq 工作得更快
- c - 关于声明和初始化字符串以及字符串内存区域的查询
- javascript - JavaScript - 测试与多个实体的通信
- javascript - 如何从数组对象中添加 2 个键值并在第一个键中更新?
- postgresql - hotstandby postgresql 服务器具有主服务器的密码
- python - Pytest 在派生类中生成测试
- mysql - 在全栈网站上运行多少个 NodeJS 项目?
- javascript - Jest 遇到了一个意外的令牌 React
- angular - 错误 TS6200:以下标识符的定义与另一个文件中的定义冲突 (@types/jasmine)