为了账号安全,请及时绑定邮箱和手机立即绑定

Preg_replace 带有可选的换行符

Preg_replace 带有可选的换行符

PHP
叮当猫咪 2023-11-03 16:03:11
我目前正在努力解决正则表达式。我处理的一些字符串末尾有换行符,有些则没有。但我希望这些换行符位于我添加的 html 之外。起初,我的正则表达式中没有换行符代码,但后来换行符在结束标记之前返回。我用当前代码修复了这个问题,但现在它不再正确处理末尾没有换行符的字符串。因此,我尝试更改我的代码,以在存在换行符时返回换行符,但在没有换行符时也处理字符串。我当前的代码:preg_replace('/^(m:|maken:)(.*)([\r\n])/i', $makenblokje . '<em class="markeerroze">$2</em>$3', $regel, 1, $teller);                                ^^^^^^^^                                                    ^^我认为解决方案应该在下划线部分,但我还无法用我正在寻找的结果来修复它。
查看完整描述

2 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

您可以通过在模式后面加上 a 将模式设为可选(即允许有 0 或 1 个实例)?,因此这应该可以为您完成:

'/^(m:|maken:)(.*)([\r\n])?/i'

但我认为删除所有传入的换行符会更容易,无论如何它们都不会在输出中呈现。


查看完整回答
反对 回复 2023-11-03
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

[\r\n]匹配\r\n. 为了匹配任何类型的换行符,请使用\R?使其可选:

preg_replace('/^(m:|maken:)(.*)(\R?)/i', $makenblokje . '<em class="markeerroze">$2</em>$3', $regel, 1, $teller);



查看完整回答
反对 回复 2023-11-03
  • 2 回答
  • 0 关注
  • 148 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号