Php 制造<;br>;最后一行是可选的

Php 制造<;br>;最后一行是可选的,php,regex,line,Php,Regex,Line,所以我想把/r后面的那一行完全变成红色,但只有这一行 到目前为止,我已经做到了这一点(这仅仅是因为\n在前面被所取代;目前这并不重要): $str=preg\u replace(“/\/r(.*)/”,“$1”,$str); 到目前为止,这是可行的,但前提是确实存在换行。如果你只打一行,它不会变成红色 有什么方法可以得到一行的结尾,或者整个文本的结尾 我想你的意思是最后一行的是可选的。您可以使用: $str = preg_replace('~/r(.*?)(?:<br>|$)~ui

所以我想把
/r
后面的那一行完全变成红色,但只有这一行

到目前为止,我已经做到了这一点(这仅仅是因为
\n
在前面被

所取代;目前这并不重要):

$str=preg\u replace(“/\/r(.*)
/”,“$1
”,$str);
到目前为止,这是可行的,但前提是确实存在换行。如果你只打一行,它不会变成红色


有什么方法可以得到一行的结尾,或者整个文本的结尾

我想你的意思是最后一行的

是可选的。您可以使用:

$str = preg_replace('~/r(.*?)(?:<br>|$)~uis', '<font color="red">$1</font><br>', $str);
$str=preg_replace(“~/r(.*?(:
$)~uis”,“$1
”,$str);
是吗,哦,是的,用reg-ex@valentinmerier解析HTML:你看过完整的问题了吗?或者假设问题是关于解析HTML的,因为您在其中看到了一个

?:)请在输入中包含一些示例HTML,否则我们无法测试问题。如果您想这样做,您可能应该添加
ui
作为regexp的标志(unicode实体,忽略大小写,单行模式)
$str = preg_replace('~/r(.*?)(?:<br>|$)~uis', '<font color="red">$1</font><br>', $str);