Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как подсчитать количество строк в textarea
 
 автор: Ванек2010   (24.07.2011 в 23:21)   письмо автору
 
 

Как возможно посчитать количество строк в textarea, с помощью пхп?
На каждой строке может быть произвольное кол-во символов.

  Ответить  
 
 автор: f111   (25.07.2011 в 00:30)   письмо автору
 
   для: Ванек2010   (24.07.2011 в 23:21)
 

<?php
count
(explode($textareaValue'\n'));
?>

  Ответить  
 
 автор: Киналь   (25.07.2011 в 08:44)   письмо автору
 
   для: f111   (25.07.2011 в 00:30)
 

Если придираться, то может быть и не \n. Так что надёжнее так:

<?php 
count
(explode(nl2br($textareaValue), '<br />')); 
?>

  Ответить  
 
 автор: Ванек2010   (25.07.2011 в 10:01)   письмо автору
 
   для: Киналь   (25.07.2011 в 08:44)
 

Первый случай я уже рассматривал, поэтому и написал на форум, код Киналя тоже у меня не работает.
Ответ всегда 1 строка и в первом и во тором случае.
Данные передаются аяксом, если что

  Ответить  
 
 автор: Киналь   (25.07.2011 в 13:24)   письмо автору
 
   для: Ванек2010   (25.07.2011 в 10:01)
 

Попробуйте вывести эти данные на страницу, то есть

echo $textareaValue;
// и на всякий случай
echo nl2br($textareaValue);

Посмотри исходный код получившейся страницы. Если там в одну строку, значит, аяксом что-то не так передаётся.

  Ответить  
 
 автор: MHz   (25.07.2011 в 17:48)   письмо автору
 
   для: Ванек2010   (25.07.2011 в 10:01)
 

Тут лучше пройтись посимвольно и посчитать сколько раз встретится "\n".
И "\n" в двойных кавычках, а не одинарных.

  Ответить  
 
 автор: Киналь   (25.07.2011 в 17:59)   письмо автору
 
   для: MHz   (25.07.2011 в 17:48)
 

То же самое посоветовали и во втором ответе. Но перевод строки может и \n, и \r\n, и \r.

  Ответить  
 
 автор: MHz   (25.07.2011 в 18:51)   письмо автору
 
   для: Киналь   (25.07.2011 в 17:59)
 

Перевод строки это \n.
\r - это возврат каретки

  Ответить  
 
 автор: f111   (25.07.2011 в 18:55)   письмо автору
 
   для: Киналь   (25.07.2011 в 17:59)
 

если вы так уж хотите "\r" то http://codepad.org/mP6EJv8S, хотя наверно бредово

  Ответить  
 
 автор: Киналь   (25.07.2011 в 20:52)   письмо автору
 
   для: f111   (25.07.2011 в 18:55)
 

Так ведь через nl2br() будет то же самое, только не нужно использовать регулякри.

  Ответить  
 
 автор: f111   (25.07.2011 в 21:52)   письмо автору
 
   для: Киналь   (25.07.2011 в 20:52)
 

Киналь, после того как for оказался медленнее foreach я уже ничего не знаю(

  Ответить  
 
 автор: Drago   (25.07.2011 в 19:33)   письмо автору
 
   для: Киналь   (25.07.2011 в 17:59)
 

Символ "\r" в качестве перевода строки неактуален примерно с 2000-го года, после выхода Mac Os X.

  Ответить  
 
 автор: Киналь   (25.07.2011 в 20:53)   письмо автору
 
   для: Drago   (25.07.2011 в 19:33)
 

Не знал, спасибо. Но, в любом случае, пусть об этом болит голова у авторов PHP, а не кодеров)

  Ответить  
 
 автор: f111   (25.07.2011 в 18:43)   письмо автору
 
   для: MHz   (25.07.2011 в 17:48)
 

>И "\n" в двойных кавычках, а не одинарных.
вы правы, забыл

  Ответить  
 
 автор: f111   (25.07.2011 в 17:26)   письмо автору
 
   для: Киналь   (25.07.2011 в 08:44)
 

пример в студию)

  Ответить  
 
 автор: Ванек2010   (26.07.2011 в 00:00)   письмо автору
 
   для: Киналь   (25.07.2011 в 08:44)
 

Ошибка в выражении, сперва должен идти разделитель, потом строка
<?php  
count
(explode(nl2br("\n"$textareaValue)));  
?> 

теперь все заработало.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования