好的,所以当从数据库中取出时,我的段落显示正常。 使用CSS我有线......
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行或其他东西。
任何想法??
答案 0 :(得分:0)
它不会忽略CSS,再也没有新行了。
看到您正在匹配您想要的内容,但是您正在替换,而不是新行代码表达式的第一个([.!?])
和第二个(\w)
组。
将表达式更改为'/([.!?])(\*)(\ w)/'然后将返回语句更改为strtoupper($matches[1] . $matches[2] . $matches[3])
它应该有用。