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

Форум Регулярные Выражения

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: >br> после 80-го знака в одной строки

Сообщения:  [1-10]   [11-19] 

 
 автор: sasha12342   (15.02.2013 в 00:34)   письмо автору
105.1 Кб
 
   для: Igorek   (14.02.2013 в 19:06)
 

Спасибо за "наводку"
Если менять один пробел на   то не срабатывает nl2br($text)
А если меняем два на два:
$text=str_replace("  ","  ",$text);
 echo nl2br($text);

То все получается так как надо (см. скрин5)!
Еще раз спасибо всем!

  Ответить  
 
 автор: Igorek   (14.02.2013 в 19:06)   письмо автору
 
   для: sasha12342   (14.02.2013 в 16:13)
 

можно использовать спец теги (например, как здесь [ code ][ /code ]), чтобы пользователь мог явно указать, что текст, заключенный в эти теги, необходимо обрабатывать особо - обрамить тегами <pre>, поменять пробелы на &nbsp;, свой вариант...

  Ответить  
 
 автор: sasha12342   (14.02.2013 в 16:13)   письмо автору
101.5 Кб
 
   для: Igorek   (14.02.2013 в 15:51)
 

Прошу прошение! Не убрал одну регулярку.
echo nl2br($s); выдает: (см. скрин 4)
Вроде все так как хотел за исключением "пробелов", подскажите в каком направление двигаться.
Спасибо за помощь!

  Ответить  
 
 автор: Igorek   (14.02.2013 в 15:51)   письмо автору
 
   для: sasha12342   (14.02.2013 в 13:52)
 

Где-то подвох.
Откуда взялись переносы строк после "alpha - угол," или "p - полупериметр"? их быть не должно.
Покажите код что ли...
А если вас смущает, что пропали пробелы между словами "круг", то это вопросы к HTML и решать эту проблему нужно другим способом.

  Ответить  
 
 автор: sasha12342   (14.02.2013 в 13:53)   письмо автору
104.6 Кб
 
   для: sasha12342   (14.02.2013 в 13:53)
 

3

Как видите, нигде не получается вывести запись в том виде в котором ее ввёл пользователь

  Ответить  
 
 автор: sasha12342   (14.02.2013 в 13:53)   письмо автору
108.6 Кб
 
   для: sasha12342   (14.02.2013 в 13:52)
 

2

  Ответить  
 
 автор: sasha12342   (14.02.2013 в 13:52)   письмо автору
87 Кб
 
   для: Sfinks   (13.02.2013 в 22:24)
 

Вот скриншоты:
1) Это поле ввода, первые три предложения и последняя "абра-кадабра" вводилось бес переноса строки. (ширина поля 480 пикс.)
2) вывод данных в контейнер див (ширина 605 пикс.) с использованием "$s = '<p>'.str_replace("\n",'</p><p>',$s).'</p>';"
3) вывод данных в контейнер див (ширина 605 пикс.) с использованием "nl2br($s)"

  Ответить  
 
 автор: Sfinks   (13.02.2013 в 22:24)   письмо автору
 
   для: sasha12342   (13.02.2013 в 21:26)
 

> Если поместить все строки в <p></p> то список будет выглядеть некрасиво (не таким ка его ввел пользователь).
А в чем "некрасивость" заключается? Что-то вы путаете. Вы попробовали, или вам так кажется? Можно со скриншотом? Будет именно то, о чем вы говорите.

Ну или, как Вам уже написал Igorek, функцией nl2br():
echo '<div style="width:400px">'.nl2br($s).'</div>';

  Ответить  
 
 автор: sasha12342   (13.02.2013 в 21:26)   письмо автору
 
   для: Sfinks   (12.02.2013 в 23:31)
 

На словах легче объяснить чем в письменном виде.
смотрите:
в форму (шириной в 400пикс.) пользователь вводит текст такого вида:

1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13. 14 - 15 - 16 - 
17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27. 28 - 29 - 30
 - 31 - 32 - 33 - 34 - 35 - 36 - 37 - 38 - 39 - 40. 41 - 42 - 43 - 
44 - 45 - 46 - 47 - 48 - 49 - 50

1) мягкий диван
2) удобное кресло
3) крепкий шкаф 

мебель              мебель                мебель                мебель   
             мебель                мебель                  мебель            
мебель              мебель                мебель                мебель   
весь текст ввел без переноса строки.
Когда я вывожу этот-же текст в другую форму (шириной в 300пикс.) то получается так:

1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 
13. 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 
- 23 - 24 - 25 - 26 - 27. 28 - 29 - 30 - 31 - 
32 - 33 - 34 - 35 - 36 - 37 - 38 - 39 - 40. 41 - 
42 - 43 - 44 - 45 - 46 - 47 - 48 - 49 - 50

1) мягкий диван
2) удобное кресло
3) крепкий шкаф 

мебель              мебель
мебель                мебель   
             мебель               
 мебель                  мебель           
 мебель              мебель              
  мебель                мебель   


Когда вывожу в <div> и <pre> шириной в 400пикс. получается так:
1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13. 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27. 28 - 29 - 30 - 31 - 32 - 33 - 34 - 35 - 36 - 37 - 38 - 39 - 40. 41 - 42 - 43 - 44 - 45 - 46 - 47 - 48 - 49 - 50

1) мягкий диван
2) удобное кресло
3) крепкий шкаф 

мебель              мебель                мебель                мебель                мебель                мебель                 мебель            мебель              мебель               мебель            мебель   


Когда вывожу в <div> без <pre> шириной в 400пикс. получается так:

1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13. 14 - 15 - 16 - 
17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27. 28 - 29 - 30
 - 31 - 32 - 33 - 34 - 35 - 36 - 37 - 38 - 39 - 40. 41 - 42 - 43 - 
44 - 45 - 46 - 47 - 48 - 49 - 50 1) мягкий диван 2) удобное 
кресло 3) крепкий шкаф мебель мебель мебель мебель 
мебель мебель мебель мебель мебель мебель мебель 


Как мне вывести текст в контейнер <div> или <span> в таком виде в котором он выводиться в форме (шириной в 300пикс.)?

Если поместить все строки в <p></p> то список будет выглядеть некрасиво (не таким ка его ввел пользователь).

Почему у форм есть такая опция как "автоматический перенос строки при её достижение границы формы" а у дивов нет?

  Ответить  
 
 автор: Sfinks   (12.02.2013 в 23:44)   письмо автору
 
   для: sasha12342   (12.02.2013 в 17:11)
 

А по приведенной ссылке вообще рядом нет ничего похожего, на жесткое форматирование и расстановку переводов строк <br>. Там просто каждый абзац завернут в <p></p>. Это можно сделать просто:
<?php
  $s 
'<p>'.str_replace("\n",'</p><p>',$s).'</p>';

  Ответить  

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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