首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php preg_replace在多行上重复字符串

php preg_replace在多行上重复字符串
EN

Stack Overflow用户
提问于 2013-03-03 02:37:53
回答 2查看 576关注 0票数 0

我有以下文件示例:

苹果,

樱桃,

,(删除)

梨,

,(删除)

葡萄,

西瓜

我使用了下面的表达式

代码语言:javascript
复制
preg_replace('/,+/', ',', $n);

来自this answer。

这可以很好地工作,但仅当文件在一行时才有效:

代码语言:javascript
复制
apple, cherry,, pear,,...

如何扩展表达式以删除多行上的多余重复项,以便文件读取:

苹果,

樱桃,

梨,

葡萄,

西瓜

代码如下:

foreach ($lines as $line_num => $line) {

代码语言:javascript
复制
 `if ($line[0] === '.') {     $compare_line = $line;     $compare_line = preg_replace('/,+/', ',', $compare_line);     echo $compare_line;     } }`
EN

回答 2

Stack Overflow用户

发布于 2013-03-03 02:42:47

我的猜测是,您正在做一些事情来拆分这些行,然后只将正则表达式应用于第一行。试着这样做:

代码语言:javascript
复制
file_put_contents("newfile.txt",preg_replace("/,+/", ",", file_get_contents("oldfile.txt")));
票数 2
EN

Stack Overflow用户

发布于 2013-03-03 03:04:57

通过将标志/s添加到表达式的末尾,可以使preg_replace将所有行作为一行处理。

代码语言:javascript
复制
preg_replace('/,+/s', ',', $n);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15177974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档