[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: php перенос текста
sharomet
как можно сделать перенос текста с помощью php
проблема в том что если пользователь вписывает текст без пробелов то он выводится одной строкой и залазит за передлы div и p

<?php
$text="аааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа аааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа";
?>


<div style="width: 200px; border:1px solid #000">
<p
style="width: 200px">
<?php

echo $text;
?>
</p>
</div>


как можно написать что если длина каждой строки привышает к примеру 30 символов то вставлять в конце каждой строки <br />



Спустя 3 минуты, 26 секунд (31.05.2012 - 22:26) Игорь_Vasinsky написал(а):

Спустя 1 минута, 24 секунды (31.05.2012 - 22:27) Invis1ble написал(а):
или preg_replace()

Спустя 14 минут, 50 секунд (31.05.2012 - 22:42) sharomet написал(а):
неаааа...неработает ни то ни другое

Спустя 4 минуты, 8 секунд (31.05.2012 - 22:46) sharomet написал(а):
<p style="width: 200px;white-space: pre-wrap; padding:0; border:1px solid #000" >
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</p>
даже в таком варике неполучается

Спустя 1 минута, 48 секунд (31.05.2012 - 22:48) rooor написал(а):
echo wordwrap($text, 30, "<br />\n");

Спустя 8 минут, 54 секунды (31.05.2012 - 22:57) sharomet написал(а):
echo wordwrap($text, 30, "<br />\n");
нет он переносы вставляет только в местах пробелов а если пробелов нет,?
вот просто взял какойто крендель и насыпал туда кучу букв одной строкой что тогда?

Спустя 8 минут, 39 секунд (31.05.2012 - 23:06) alexbel2404 написал(а):
что неее? тебе нужен перенос строк? тебе его показали!

Спустя 15 минут, 51 секунда (31.05.2012 - 23:21) sharomet написал(а):
Работает вот такой вариант но не совсем правельно если есть в тексте переносы то он посчитает не совсем правельно

$text=preg_replace("/(.{10})/","\${1}\n", $text);

Спустя 3 часа, 52 минуты (1.06.2012 - 03:13) Gabriel написал(а):
Цитата
Переносит строку по указанному количеству символов.

на*рен извращаться? дали тебе функцию которая прекрасно режет текст.

Спустя 34 минуты, 19 секунд (1.06.2012 - 03:48) inpost написал(а):
word-wrap:break-words; + width;
2 параметра = то, что тебе надо!

Спустя 4 часа, 24 минуты, 2 секунды (1.06.2012 - 08:12) rooor написал(а):
Цитата (sharomet @ 31.05.2012 - 22:57)
echo wordwrap($text, 30, "<br />\n");
нет он переносы вставляет только в местах пробелов а если пробелов нет,?
вот просто взял какойто крендель и насыпал туда кучу букв одной строкой что тогда?

мда... ты даже не пытался её использовать...

Цитата
нет он переносы вставляет только в местах пробелов

откуда инфа? источник можно?

Спустя 2 часа, 19 минут, 52 секунды (1.06.2012 - 10:32) sharomet написал(а):
Цитата (rooor @ 1.06.2012 - 05:12)
Цитата (sharomet @ 31.05.2012 - 22:57)
echo wordwrap($text, 30, "<br />\n");
нет он переносы вставляет только в местах пробелов а если пробелов нет,?
вот просто взял какойто крендель и насыпал туда кучу букв одной строкой что тогда?

мда... ты даже не пытался её использовать...

Цитата
нет он переносы вставляет только в местах пробелов

откуда инфа? источник можно?

я вставил эту функцию в свой код, вот откуда инфа, он тупа вставляет br там где пробелы а текст не режит


$MSG=htmlspecialchars($MSG);
$MSG=wordwrap($MSG, 30, "<br />\n");

echo '
<div class="center">
<div class="cont">
<div class="msname"><strong><a href="user.php?id='
.$UID2.'">'.htmlspecialchars($UName2.' '.$ULName2).'</a></strong></div>
<div class="mssee">
<p>'
.$MSG.'</p>//тут
</div> и т д и т п

Спустя 14 минут, 26 секунд (1.06.2012 - 10:46) sharomet написал(а):
$MSG=wordwrap($MSG, 30, "<br />\n",true);


вот ответ


_____________
Место клизмы изменить нельзя!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.