2014-10-28 86 views
0

好吧,所以我有段落顯示罰款時拉出數據庫。 使用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行或其他東西。

任何想法??

回答

0

它不會忽略CSS,不再有新行。

見你匹配你想要什麼,其實你是不更換新行字符的第一([.!?])和第二(\w)組表達。

變化表達爲 '/([.!?])(\s*)(\w)/',那麼return語句strtoupper($matches[1] . $matches[2] . $matches[3])

它應該工作。