猿问

PHP preg_replace 在多行中不起作用

我试图删除每一行末尾的“-”字符:


$text = "abc - xyz


abc-


-xyz

";

到目前为止,它没有产生预期的结果。


我正在使用以下 PHP:


$text = preg_replace("/\-$/m", "*", $text);

想要的结果:


$text = "abc - xyz


abc*


-xyz

";

或类似的解决方案。


30秒到达战场
浏览 155回答 2
2回答

慕桂英3389331

这个简单的表达式很可能用 替换不需要的破折号*:$re = '/-+$/m';$str = 'abc - xyzabc--xyzabc - xyzabc-abc-abc-abc-----xyz';$subst = '*';$result = preg_replace($re, $subst, $str);echo $result;输出abc - xyzabc*-xyzabc - xyzabc-abc-abc-abc*-xyz如果您想探索,该表达式在此演示的右上角面板中进行了解释。

饮歌长啸

$text = "abc - xyzabc--xyz123----s-----sss";$text = preg_replace("/\-\r$/m", "\r", $text);echo $text;产量abc - xyzabc-xyz123---s----sss
随时随地看视频慕课网APP
我要回答