PHP正则表达式,匹配特定字符之后的所有内容,并以换行符结束


PHP Regex that matches everything after a certain character and ends with newline

我有问题做这个正则表达式得到某一字符(*在这种情况下)之后的一切,并在PHP中以换行符结束。

:

texttextext
*Sometext
*othertext
texttextex

我希望能够得到"*Sometext和"*othertext",并添加<b></b>到他们。

已尝试

$a = array( 
      "/'*(.*?)'n/is"
   ); 
   $b = array( 
      "<b>$1</b>"
   );
   $texto = preg_replace($a, $b, $texto); 

,但它不起作用。我做错了什么?

"/^'*(.*?)'n/im"

您只需要添加^以匹配该行的开头。这需要/m多行标志。

然而,/s标志在那里是错误的,因为这允许.*也匹配换行-这是你做而不是想要的。