PHP:在preg replace中添加换行符

PHP:在preg replace中添加换行符,php,preg-replace-callback,nl2br,Php,Preg Replace Callback,Nl2br,我可以通过阅读理解大多数PHP代码,但我从来都不知道preg_replace是如何使用的,所以我只是复制其他人的代码来获得我想要的 现在我需要在其中添加换行符,我尝试了多种组合,但我不知道如何使用它 这是我当前的代码: $textbr = nl2br($text); $output = preg_replace_callback('/([.!?])\s*(\w)/', function ($matches) { return strtoupper($matches[1] . ' ' .

我可以通过阅读理解大多数PHP代码,但我从来都不知道preg_replace是如何使用的,所以我只是复制其他人的代码来获得我想要的

现在我需要在其中添加换行符,我尝试了多种组合,但我不知道如何使用它

这是我当前的代码:

$textbr = nl2br($text);
$output = preg_replace_callback('/([.!?])\s*(\w)/', function ($matches) {
    return strtoupper($matches[1] . ' ' . $matches[2]);
}, ucfirst(strtolower($textbr)));

echo substr($output,0,870);
echo "...</p>";
那么我如何在代码的这一部分添加换行符呢?我需要它同时输出换行符,然后使下一个字母大写。

换行符是:\n表示换行符,而\r表示回车符


RegExp很有趣,我建议大家多了解它:

。我只是通过随机尝试解决这个问题

解决方案:


您还没有描述如何使用粘贴的代码。您是否尝试为linebrake添加\n?我描述了需要帮助的内容。我一直不知道preg_replace是如何使用的,现在我需要在其中添加换行符,并且我尝试了多种组合,但我不知道如何使用它。那么如何将它添加到preg_replace中呢?我尝试了一些组合,但我没有任何运气。请发布一个预期结果,以便我更好地了解您需要完成的任务。输入:嗨,我叫布拉布拉布拉,我喜欢胡萝卜。这是一个橙色的文本。LINEBREAK LINEBREAK这只是一条测试线,它应该在x2中大写。文本应如下所示,但换行符后的第一个字母不大写。我需要它来做
$textbr = nl2br($text);
$output = preg_replace_callback(
    '/([.!?\r?\n)])\s*(\w)/', 
    function ($matches) {
        return strtoupper($matches[1] . ' ' . $matches[2]);
    }, 
    ucfirst(
        strtolower($textbr)
    )
);