Отображение абзацев новой строки из Textarea при использовании preg_replace_callback

Итак, у меня были абзацы, отображающие нормально, когда вытащил из базы данных.
Используя 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

Решение

Это не игнорирование CSS, новой строки больше нет.

Смотрите, вы соответствуете, что вы хотите правильно, но вы заменяете без новая строка символов первой ([.!?]) а второй (\w) группы выражения.

Измените выражение на ‘/([.!?])(\s*)(\w)/’, затем оператор return на strtoupper($matches[1] . $matches[2] . $matches[3])

Он должен работать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]