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

Форум PHP

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

 

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

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

тема: вывод текста
 
 автор: *m*   (26.05.2009 в 17:03)   письмо автору
 
 

Всем привет!)

такой вопрос:

есть старница, на которую выводиться текст, который храниться в бд. и есть админка, где этот текст редактируется. Собсна схема обычная администратор заносит текст в админке, он летит в бд., там обновляется и выводиться на страницу авторизованному пользователю.

выводиться текст так:

<? 
printf 
("<p>%s</p><p>%s</p>",$data["title"],$data["text"]);
?>


так вот, как сделать так, чтобы текст который выводиться в поле текст выводился построчно?
потомучто на данный момент если в нести в базу информацию без логических тегов форматирования текст выглядит так:

Всем привет!)такой вопрос:есть старница, на которую 
выводиться текст, который храниться в бд. и есть админка, 
где этот текст редактируется. Собсна схема обычная 
администратор заносит текст в админке, он летит в бд., там 
обновляется и выводиться на страницу авторизованному 
пользователю.


все в одну кучу...
а вносить текст в бд и каждую сторочку выделять параграфом или ставить перенос, очень не удобно, наверняка есть, какоенибудь решение.

спасибо)

  Ответить  
 
 автор: sim5   (26.05.2009 в 17:13)   письмо автору
 
   для: *m*   (26.05.2009 в 17:03)
 

Можно было не приводить этот ужас - читать не удобно, написали бы в одну строку вывод получается.
Что значить перенос? Там где вводится Enter перевод строки? Если так, то вам поможет nl2br, а уж вставить текст в параграф вам ничто не мешает.

  Ответить  
 
 автор: *m*   (26.05.2009 в 18:03)   письмо автору
 
   для: sim5   (26.05.2009 в 17:13)
 

вот именно что когда что enter не помогает

например вводим 1enter 1enter 1enter 1enter 1enter

должно получиться:

1
1
1
1
1

а получается все равно вот так: 11111

каждую отрывки текста канешно можно вставлять в отдельный параграф, и ничто этому не мешает, просто это не удобно, представте у меня будет 1000 или более строк, которые должны быть разделены..и причем не одинаково.

вот я и думаю как сделать..

  Ответить  
 
 автор: sim5   (26.05.2009 в 18:09)   письмо автору
 
   для: *m*   (26.05.2009 в 18:03)
 

Где вам надо разделить строки эти - при выводе или же в форме (в текстовой области) для редактирования?

  Ответить  
 
 автор: *m*   (27.05.2009 в 14:43)   письмо автору
 
   для: sim5   (26.05.2009 в 18:09)
 

ну мне нужно чтобы при выводе... потомучто, в текстовую область чаще удобнее вставлять копипастом, чем печатать. Хотя, мне сейчас уже любой вариант подойдет =) Но лучше канешно, чтобы при выводе.

  Ответить  
 
 автор: sim5   (27.05.2009 в 14:57)   письмо автору
 
   для: *m*   (27.05.2009 в 14:43)
 

Если вам по введенным Enter разбить, то вам nl2br поможет.

  Ответить  
 
 автор: *m*   (28.05.2009 в 19:47)   письмо автору
 
   для: sim5   (27.05.2009 в 14:57)
 

а как мне ее на вывод прописать??

http://ru.php.net/manual/ru/function.nl2br.php
тут ее синтаксис.. но как мне ее с моим выводом связать? (см. 1 пост)

  Ответить  
 
 автор: sim5   (28.05.2009 в 20:04)   письмо автору
 
   для: *m*   (28.05.2009 в 19:47)
 

Читал я ваш пост. На вопрос куда вы вывод делаете, вы так и не ответили. Если это на страницу, то пропускайте свой текст через эту функцию. Если же речь идет о выводе в форму для его редактирования, то nl2br тут не к месту.

  Ответить  
 
 автор: *m*   (28.05.2009 в 20:28)   письмо автору
 
   для: sim5   (28.05.2009 в 20:04)
 

выводиться текст на страницу главную, а как через эту функцию пропустить, можете пример дать? сообразить не могу..
спасибо.

  Ответить  
 
 автор: sim5   (28.05.2009 в 20:51)   письмо автору
 
   для: *m*   (28.05.2009 в 20:28)
 

А что там не понятного? Пропустить переменную, содержащую текст, через эту функцию.
<?
$s 
"Текст с переходом\nна новую строку";
$s nl2br($s);
echo 
$s;

  Ответить  
 
 автор: *m*   (29.05.2009 в 00:58)   письмо автору
 
   для: sim5   (28.05.2009 в 20:51)
 

СПАСИБО!))

p.s я просто протупил, поскольку у меня вывод был через принтф я и думал как мне этот n12br связать с маркерами из принтэфа))) а так да, просто придал переменным значения из массива и вывел через эко ,пропустив через, n12br, проще некуда)

Спасибо за помощь)

  Ответить  
 
 автор: nikita2206   (29.05.2009 в 02:14)   письмо автору
 
   для: *m*   (29.05.2009 в 00:58)
 

можно и с маркерами:
<?  
printf 
("<p>%s</p><p>%s</p>",nl2br($data["title"]),nl2br($data["text"]));

  Ответить  
 
 автор: *m*   (29.05.2009 в 12:35)   письмо автору
 
   для: nikita2206   (29.05.2009 в 02:14)
 

а вот как.. а я ковычки двойный еще ставил после скобок этой функции, думал необходимый синтаксис.. оказывается все проще.. с каждым разом все больше ценю php.

всем большое спасибо за помощь)

  Ответить  
 
 автор: Zend72   (26.05.2009 в 17:13)   письмо автору
 
   для: *m*   (26.05.2009 в 17:03)
 

Возможно wordwrap вам поможет...

  Ответить  
 
 автор: nikita2206   (26.05.2009 в 19:31)   письмо автору
 
   для: *m*   (26.05.2009 в 17:03)
 

дык вы лучше причину найдите, а не следствие...
вам нужно в раздел HTML т.к. это задача браузера, он должен делать перенос в зависимости от ширины родительского элемента...
а если не делает, то скорее всего ваш текст выводится в каком нибудь <pre>

  Ответить  
 
 автор: sim5   (26.05.2009 в 20:04)   письмо автору
 
   для: nikita2206   (26.05.2009 в 19:31)
 

А вы читали автора: например вводим 1enter 1enter 1enter 1enter 1enter? Если вывод нужен в форму, то о каком <pre> может быть речь?

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

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