替换多个换行符、制表符和空格[重复]

2023-11-21

我想用一个换行符替换多个换行符,用一个空格替换多个空格。

I tried preg_replace("/\n\n+/", "\n", $text);并失败了!

我还在 $text 上完成这项工作以进行格式化。

$text = wordwrap($text, 120, '<br/>', true);
$text = nl2br($text);

$text 是从 BLOG 用户那里获取的大文本,为了更好的格式,我使用了 wordwrap。


理论上,正则表达式确实有效,但问题是并非所有操作系统和浏览器仅在字符串末尾发送 \n 。许多人还会发送\r。

Try:

我已经简化了这一点:

preg_replace("/(\r?\n){2,}/", "\n\n", $text);

并解决某些仅发送 \r 的问题:

preg_replace("/[\r\n]{2,}/", "\n\n", $text);

根据您的更新:

// Replace multiple (one ore more) line breaks with a single one.
$text = preg_replace("/[\r\n]+/", "\n", $text);

$text = wordwrap($text,120, '<br/>', true);
$text = nl2br($text);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

替换多个换行符、制表符和空格[重复] 的相关文章

随机推荐

  • 如何使用Fiddler监听asp.net开发服务器(即cassini)?

    我正在尝试使用 Fiddler 调试 RESTful WCF 应用程序 我通过 VS IDE 运行我的项目 它在 ASP NET 开发服务器 又名 Cassini 中启动我的应用程序 然后 我启动 Fiddler 并在 请求生成器 选项卡中
  • C 语言最佳实践中的项目组织

    我想知道组织大型 C 项目的最佳实践是什么 它是一个专业项目 而不是开源项目 可能存储在 Git 存储库中 事情应该如何排序 结构应该去哪里 什么时候应该使用附加到结构的函数而不是使用结构作为参数的函数 就在项目中布置文件而言 应该如何组合
  • .Net Core 依赖注入从构造函数中注入

    我需要从构造函数中注入我在安装程序中声明的所有内容 我可以做吗 如何从构造函数中注入服务 类似于 Angular 2 中的 Injector 服务 在控制器中无需构造函数即可注入服务 像这样的东西 public class Controll
  • Android 中的人脸检测?

    我目前正在开发一个实验性相机应用程序 我目前正在考虑实施人脸检测 并正在权衡我的选择 我已经考虑过可用于 Android 的 OpenCV 端口并使用其人脸检测功能 但从我之前看到的实现的演示来看 相机似乎滞后很多 考虑到 HTC Desi
  • 如何计算R中每一行字符串的频率

    我有一个看起来像这样的 txt 文件 rs1 NC AB NC rs2 AB NC AA rs3 NC NC NC 对于每一行 我想计算 NC 的频率 这样我的输出将如下所示 rs1 2 rs2 1 rs3 3 有人可以告诉我如何在 R 或
  • 有没有办法在 PHP 中将 json 转换为 xml?

    有什么办法可以转换吗json to xml in PHP 我知道xml到json是很有可能的 如果您愿意使用XML序列化器从 PEAR 中 您可以通过两个简单的步骤将 JSON 转换为 PHP 对象 然后将 PHP 对象转换为 XML in
  • Visual Studio 中的 C++20 支持

    我想用std format但 Visual Studio 说std命名空间没有成员format 这对于 C 20 来说似乎是新的 有办法让它可用吗 截至撰写本文时 还没有 C 标准库实现std format 网络上有各种可用的实现 例如ht
  • 无法使用 make-symbol 生成的名称调用宏中定义的函数

    我正在尝试写一个ELisp宏根据一些通用数据生成多个函数 例如 当我想计算 fn 名称时 我会写类似的内容 我暂时忽略了卫生 我将符号文字传递到宏中 因此评估不重要 cl defmacro def fns sym SYM let s1 ma
  • 错误 azure-pipelines.yml 中出现意外值“步骤”

    我试图在构建和部署 docker image 之前将视频文件从 GPM 复制到 app dist asset images 文件夹 在第 27 行获取意外值 Steps 如果我删除复制视频文件的步骤 YML 文件可以正常工作 azure p
  • 如何在 asp.net 页面上的 <% ... %> 标记内使用 C# 代码?

    我正在编写一个 asp net 用户控件 它有一个属性FurtherReadingPage 和两个与其绑定的控件 ObjectDataSource 和Repeater 在中继器内 我想显示一个超链接 其 href 属性设置为类似Furthe
  • Access-Control-Allow-Headers 不允许使用 $http 请求标头字段

    我正在做一个POST到使用的服务邮递员 Chrome 扩展 我得到了预期的响应 但是 当我做同样的事情时POST请求使用 http 一切都见鬼去吧 我得到一个 Request header field Engaged Auth Token
  • dplyr 过滤器函数:如何返回每个值(或“取消”过滤器的效果)?

    这似乎是一个奇怪的问题 但是有没有一种方法可以将值传递给基本上不执行任何操作的 filter data cars library dplyr cars gt filter speed magic value that returns car
  • iOS 中的动画文本内容 - 相当于 Android ValueAnimator

    我正在开发一个 iOS 7 应用程序 并且想要以动画方式更改 UILabel 的内容 我do not想要做任何图形动画 例如淡出旧内容 淡入新内容 因此 iOS 提供的所有标准动画功能 例如图层动画或动画块 都无法使用 至少我这么认为 假设
  • 如何在 C# 中从控制台窗口返回焦点?

    我有一个 C 控制台应用程序 A 它以黑色 Windows 控制台打开 有时在启动时它会从另一个程序 B 中窃取焦点needs焦点 问题 我怎样才能把焦点从A exe to B exe A gt Focus gt B Details 计划B
  • Javascript - 检索文件夹中文件的名称

    我有一个要求 我需要从客户端的文件夹中检索所有文件名 因此 我尝试使用 Jquery 检索文件夹中的文件名称 引用这个答案 我的代码如下
  • NextJS Vercel部署错误Nested Middleware is not allowed,发现:pages/_middleware

    突然我的中间件在部署中停止工作 错误是 gt Build error occurred NestedMiddlewareError Nested Middleware is not allowed found pages middlewar
  • 为什么 matplotlib 的缺口箱线图会自行折叠?

    我尝试使用 matplotlib 制作缺口箱线图 但发现缺口箱往往会过度延伸 然后自行折叠 当我制作常规箱线图时 不会发生这种情况 这可以通过以下代码和生成的结果图看出 import matplotlib pyplot as plt dat
  • 为什么我需要先更改绑定源位置才能保存更改

    我有一个小型演示 WinForms 应用程序 其中一份表格是我的 添加新人 表格 我使用了详细信息视图而不是DataGridView来自我的数据源 当我输入数据并单击导航器上的保存按钮时 更改为零 但是我输入了MovePrevious an
  • Ruby on Rails 中的 send_data 与电子表格插件结合使用时遇到困难

    我在控制器中有一个函数 它接受一些规范并生成有关它们的报告 这个函数 user report 在视图中被调用 controller gt reports action gt user report print state gt 打印 gt
  • 替换多个换行符、制表符和空格[重复]

    这个问题在这里已经有答案了 我想用一个换行符替换多个换行符 用一个空格替换多个空格 I tried preg replace n n n text 并失败了 我还在 text 上完成这项工作以进行格式化 text wordwrap text