Подсчет строк в размещенной строке - PullRequest
7 голосов
/ 31 октября 2011

Я пробовал это: считать новые строки в textarea, чтобы изменить размер контейнера в PHP?

Но, похоже, это не работает:

$content = nl2br($_POST['text']);
preg_match_all("/(<br>)/", $content, $matches);

echo count($matches[0]) + 1;

Это всегда будет выводить 1.

Есть ли другие решения для подсчета строк в строке?

Ответы [ 3 ]

12 голосов
/ 31 октября 2011

Нашел это в одном из моих старых приложений ... Не знаю, откуда я это взял.

$lines_arr = preg_split('/\n|\r/',$str);
$num_newlines = count($lines_arr); 
echo $num_newlines;

* Редактировать - На самом деле, это, вероятно, не будет работать, если ваша текстовая область выплевывает html .. проверьте на <br> and <br/>

9 голосов
/ 31 октября 2011

Вы можете попробовать это:

$count = substr_count($_POST['text'], "\n") + 1;

или:

$count = count(explode("\n", $_POST['text']));
6 голосов
/ 20 октября 2013
count( explode(PHP_EOL, $str) );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...