当使用'preg_replace_callback'时显示从Textarea的新行段落
问题描述:
好吧,所以我有段落显示罚款时拉出数据库。 使用CSS,我有行...当使用'preg_replace_callback'时显示从Textarea的新行段落
white-space: pre-line;
新线各段均显示很大。
但后来我添加了一些代码,使每个句子的首字母大写。 代码是...
$description = htmlentities(strip_tags($_POST['desc']), ENT_QUOTES);
$desc = preg_replace_callback('/([.!?])\s*(\w)/', function ($matches) {
return strtoupper($matches[1] . ' ' . $matches[2]);
}, ucfirst(strtolower($description)));
所以,虽然它的工作,现在不会呈现新段新线。换句话说,它忽略了上面的CSS行或其他东西。
任何想法??
答
它不会忽略CSS,不再有新行。
见你匹配你想要什么,其实你是不更换新行字符的第一([.!?])
和第二(\w)
组表达。
变化表达为 '/([.!?])(\s*)(\w)/',那么return语句strtoupper($matches[1] . $matches[2] . $matches[3])
它应该工作。