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

Форум PHP

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

 

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

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

тема: Перенос строки по указанному количеству символов
 
 автор: kilogram   (17.04.2012 в 22:27)   письмо автору
 
 

Есть текст: Привет малыш! Как дела?
Нужно перенести слово "малыш" между слловами "Как дела?", чтоб получился в итоге текст:
Привет! Как малыш дела? Слышал что вроде есть функция wordwrap. Что-то она не срабатывает для такого дела. Или этой функцией такое не сделать, нужно один текст заменять на другой функцией str_replace или strtr, этот вариант не покатит с помощью этой функции?

<html><body>
<?php
$t 
"Привет малыш! Как  дела?";
echo 
wordwrap($t,8," ");
?>
</body></html>

  Ответить  
 
 автор: Valick   (17.04.2012 в 22:41)   письмо автору
 
   для: kilogram   (17.04.2012 в 22:27)
 

Слышал что вроде есть функция wordwrap
а прочитать?
___
лучше расскажите зачем вам это нужно и чего хотите этим добиться
пока только наталкивает на мысль о спаме

  Ответить  
 
 автор: kilogram   (18.04.2012 в 00:03)   письмо автору
 
   для: Valick   (17.04.2012 в 22:41)
 

Только перенос слов?Ккакая-то функция ненужная.

<?php
$str 
"Привет, малыш! Как дела?";
$str2 wordwrap($str,15,"<br />"); 
echo 
$str2
?>

  Ответить  
 
 автор: Valick   (18.04.2012 в 00:04)   письмо автору
 
   для: kilogram   (18.04.2012 в 00:03)
 

очень даже нужная :)

  Ответить  
 
 автор: Киналь   (18.04.2012 в 00:13)   письмо автору
 
   для: kilogram   (18.04.2012 в 00:03)
 

Вы ещё ненужных не видели)

  Ответить  
 
 автор: kilogram   (18.04.2012 в 00:58)   письмо автору
 
   для: Киналь   (18.04.2012 в 00:13)
 


<html><body>
<?php
function cite($ourText$maxlen=60$prefix="> "){
    
$st wordwrap($ourText,$maxlen-strlen($prefix),"\n");
    
$st $prefix.str_replace("\n","\n$prefix",$st);
    return 
$st;
}
echo 
'<pre>';
echo 
cite("Томас Джефферсон, один из авторов Декларации независимости, писал,
 что «все люди созданы равными». При этом однако третий президент США всю 
жизнь оставался рабовладельцем. Сейчас в Америке проходят две выставки, в
 центре внимания которых – это парадоксальное расхождение между идеями 
Джефферсона и его образом жизни. Наш корреспондент Джули Табо рассказывает
 подробнее об экспозиции в его знаменитой усадьбе Монтиселло. Смотрите видео."
,20);
echo 
'</pre>';
?>
</body></html>


Растолкуйте пожалуйста вот эти 2 строки:
$st = wordwrap($ourText,$maxlen-strlen($prefix),"\n");
    $st = $prefix.str_replace("\n","\n$prefix",$st);
]
Что вот это за действие? $prefix.str_replace почему точка "."?
Что делает первая строка?

  Ответить  
 
 автор: kilogram   (18.04.2012 в 01:18)   письмо автору
 
   для: kilogram   (18.04.2012 в 00:58)
 

Передача 2 параметру было 20, значит переменная $maxlen перелпределяется в значение 20. В строке 20-2=18 символов вывести на одну строку?
$maxlen-strlen($prefix)

  Ответить  
 
 автор: man1   (18.04.2012 в 05:38)   письмо автору
 
   для: kilogram   (18.04.2012 в 00:58)
 


<?php
$st 
wordwrap($ourText,$maxlen-strlen($prefix),"\n"); // == wordwrap($ourText,18,"\n") - т.е. после 18 символа будет вставлен символ переноса "\n".
$st $prefix.str_replace("\n","\n$prefix",$st); // а тут к символу дописывается символ ">" ($prefix="> "). Видимо для красоты, чтобы нечто вроде цитированных ответов получилось.
?>


В итоге текст будет выглядеть так:
> Томас Джефферсон,
> один из авторов
> Декларации
> независимости,
> писал,
>  что «все люди
> созданы равными».
> При этом однако
> третий президент
> США всю 
> жизнь оставался
> рабовладельцем.
> Сейчас в Америке
> проходят две
> выставки, в
>  центре внимания
> которых – это
> парадоксальное
> расхождение между
> идеями 
> Джефферсона и его
> образом жизни. Наш
> корреспондент
> Джули Табо
> рассказывает
>  подробнее об
> экспозиции в его
> знаменитой усадьбе
> Монтиселло.
> Смотрите видео.

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

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