как сделать перенос строк текста?
1.
★☆ ИгRok™ ☆★ (01.02.2011 / 23:41)
всем доброго времени суток! Ребята,как можно сделать перенос строк текста выводимого из БД? То,например,стих пишешь,нужно что бы каждая строчка,с новой строки была,а не получается! <br /> тут уже не отплатит! Подскажите,пожалуйста!
2.
DURMAN (02.02.2011 / 00:19)
зависит от принципа хранения текста.
как вариант:
<?
echo nl2br($text);
?>
3.
Марсель (02.02.2011 / 05:02)
wordwrap можно добавить)
чтобы длинных строчек небыло
4.
★☆ ИгRok™ ☆★ (02.02.2011 / 08:27)
2. Спасибо,попробую.
5.
★☆ ИгRok™ ☆★ (02.02.2011 / 08:38)
не,не сработало
позже тогда покажу код страницы! Там вывод текста с навигацией
6.
Петя (02.02.2011 / 08:45)
1.
SoluS_AngeluS,
nl2br($_POST["text"]);
Не забудь перед добавлением в базу сделать addslashes or mysql_real_escape_string для $_POST["text"], иначе сайт поломают.
Выводить текст надо не в форму, а в страницу (или в тег).
7.
★☆ ИгRok™ ☆★ (02.02.2011 / 10:16)
6.не особо понял =( мне текст в любом случае через форму вводить! Ну я позже код покажу,щас времени просто нет!
8.
Марсель (02.02.2011 / 10:40)
6, mysql_real_escape_string в полне хватит
9.
Nu3oN (02.02.2011 / 11:42)
по идее nl2br() вполне достаточно, но можно еще такой велосипед
$str = str_replace("\n", '<br />' $str);
10.
★☆ ИгRok™ ☆★ (02.02.2011 / 12:40)
9.во это более подходит,щас пойду попробую
11.
★☆ ИгRok™ ☆★ (02.02.2011 / 12:52)
нет,тоже ни какого эффекта! Я после 15:00 напишу код,там заморочка с навигацией просто
12.
Максим (02.02.2011 / 14:14)
<div style="text-align: justify;">любой текст</div>
Просто помещай текст в это блок и всё! Лично я так и делаю...
Добавлено через 04:11 сек.
Надеюсь тебе это нужно было?!)...
13.
★☆ ИгRok™ ☆★ (02.02.2011 / 14:48)
12.ты не понял! Я из базы вывожу текст с базы,у меня блог. Не знаю,попробую конечно,если подойдет,то отлично,а нет,тогда что-то другое
14.
Максим (02.02.2011 / 16:42)
подойдёт!!! я тоже пишу сейчас блог)))
15.
★☆ ИгRok™ ☆★ (02.02.2011 / 17:59)
ну вот как у меня это все
<?php
$text = $res['text']; $symb_onpage = 500; # количество символов на страницу
$page = (isset($_GET['page'])) ? abs(intval($_GET['page'])) : 0; # номер страницы, дописывать в адресную строку (если не 0)
$text = iconv('utf-8','windows-1251', $res['text']);
$arr = str_split($text,$symb_onpage);
if(array_key_exists($page,$arr)) {
if(trim($arr[$page]) !== ''){
echo trim(iconv('windows-1251','utf-8',$arr[$page]));} }
else { echo 'Страницы не существует.<br />';}# Навигация
if(count($arr) !== 0 && count($arr) !== 1){ echo '<br />';
if($page != 0){
echo '<a href="'.$tid.'?page='.($page-1).'">«Назад</a>';
echo '['.($page+1).']';} if($page != count($arr)-1){echo '<a href="'.$tid.'?page='.($page+1).'">Далее»</a>';}
?>
16.
Максим (02.02.2011 / 19:05)
ой, совсем ошибся (Я)
Добавлено через 01:53 сек.
усли честно в этом коде очень много лишнего и не оптимизированного...
Добавлено через 05:57 сек.
Зачем постоянно перекодировать? созда просто сопутсвующие функции.
sizeof гораздо быстрей count, не используй array_key_exists - делай просто: isseet($page[$arr]), ведь конструкция быстрей чем фунуция в десятки раз!!! Я не пытаюсь показать, что я лучше тебя пишу код, я тебе просто посоветовал как лучше! Я через эти тесты десятки раз прошел...
17.
★☆ ИгRok™ ☆★ (02.02.2011 / 19:56)
16.ну напиши тогда подробней,сам код,если можно
18.
Марсель (02.02.2011 / 20:15)
автор просил переносник замутить, а не читалку txt.
Автор, как текст в базу заносишь?
19.
Titov (02.02.2011 / 20:59)
при добавлении нада перенос делать тоже, тогда код который ниже будет работать
<?
$text = str_replace("\n", "<br />\n",$text);
?>
20.
Максим (03.02.2011 / 04:19)
я с вас хринею.... <pre>текст</pre>
И выведет что надо и как надо...
21.
ramzes (03.02.2011 / 06:34)
16.
АвтоGnom,с какого перепоя сайзоф стал быстрее коунта? О_о
22.
KOZZ (03.02.2011 / 07:20)
21.
ramzes, ну он же тестировал
23.
Nu3oN (03.02.2011 / 08:27)
зы isset() это тоже функция
24.
★☆ ИгRok™ ☆★ (03.02.2011 / 10:08)
всем спасибо,буду пробовать все варианть
25.
Марсель (03.02.2011 / 10:46)
Как в базу заносишь? чем фильтруешь и т.д? В этом причина может \=
26.
★☆ ИгRok™ ☆★ (03.02.2011 / 11:12)
25.домой приеду часов в 5 по москве,покажу
27.
★☆ ИгRok™ ☆★ (03.02.2011 / 16:59)
добавляю так
<?php
echo '<div class="sup">Добавить статью:</div>
<div class="tit"><form action="admin_cat.php?mod=add_text&cid='.$cid.'" method="post" />
* Название:<br /><input type="text" name="title" class="input" /><br />
* Текст:<br /><textarea name="text" cols="40" rows="5" class="input"></textarea><br /><input type="submit" value="Добавить»" class="submit" /><br/></form></div>';
}
break;
case 'add_text':
if(isset($_POST['title']) && isset($_POST['text'])){
$cid = (int)$_GET['cid'];
$title2 = filter($_POST['title']);$text = filter($_POST['text']);
if(empty($title2) OR empty($text)) die('Заполните все поля.');
mysql_query('INSERT INTO text SET cid = "'.$cid.'", author = "'.$res['login'].'", title = "'.$title2.'", text = "'.$text.'", time = "'.time().'"');
echo '<div class="sup">Результат:</div><div class="tit">Статья добавлена.</div>';
}
?>
28.
Максим (03.02.2011 / 17:10)
21.
ramzes,
0.3295
for ($i=0;$i<1000000;$i++) {
$s = sizeof($mass);
}
0.3308
for ($i=0;$i<1000000;$i++) {
$s = count($mass);
}
Добавлено через 01:11 сек.
22.
Ботаник eGo, следи за собой
Добавлено через 05:32 сек.
23.
Nu3oN, если isset() это функция, то if тоже п твоему
29.
Nu3oN (03.02.2011 / 18:12)
Если для тебя isset это конструкция, то спорить с тобой неочем!
http://php.net/manual/en/function.isset.php
---
Не знаю как ты считал, но у меня так выходит
sizeof:
0.7677, 0.6463, 0.7039
count:
0.7068, 0.6366, 0.6714
30.
Nu3oN (03.02.2011 / 18:26)
27.
SoluS_AngeluS, покажи функцию filter()
31.
★☆ ИгRok™ ☆★ (03.02.2011 / 18:40)
30.ща,скопирую
Добавлено через 05:24 сек.
function filter($str){return trim(mysql_real_escape_string(htmlentities($str, ENT_QUOTES, 'UTF-8')));}
32.
Максим (03.02.2011 / 19:13)
29.
Nu3oN,
sizeof: 0.7677, 0.6463, 0.7039
count: 0.7068, 0.6366, 0.6714
както странно...
33.
Максим (03.02.2011 / 19:34)
а пра isset я совсеи на*** не то загнал, *** выразился изначально сам не правильно и пытаюсь чтото доказать... ***
34.
ramzes (03.02.2011 / 19:49)
АвтоGnom (3 Февраля 2011 / 19:13)
29. Nu3oN,
sizeof: 0.7677, 0.6463, 0.7039
count: 0.7068, 0.6366, 0.6714
както странно...
твои результаты не менее странные)))
собственно я почему обратил внимание на эту глупость:
sizeof() это псевдоним для count().
go to php.su
35.
★☆ ИгRok™ ☆★ (03.02.2011 / 20:28)
мужики,вы на своей волне
про меня не забыли?
36.
ramzes (03.02.2011 / 20:35)
function filter($str){return str_replace("\n", '[br], trim(mysql_real_escape_string(htmlentities($str, ENT_QUOTES, 'UTF-8'))));}
при выводе
echo str_replace('[br]', '<br />, $text);
37.
Nu3oN (03.02.2011 / 20:44)
ramzes (3 Февраля 2011 / 20:35)
function filter($str){return str_replace("\n", '[br], trim(mysql_real_escape_string(htmlentities($str, ENT_QUOTES, 'UTF-8'))));}
при выводе
echo str_replace('[br]', '<br />, $text);
Эммм... а если он решит использовать при фильтрации названия например! и названия будут с переносами!
тогда уже как то так надо
<?php
function filter($str, $br=false)
{
if ($br) {
$str = str_replace("\n", '[br]', $str);
}
$str = trim(mysql_real_escape_string(htmlentities($str, ENT_QUOTES, 'UTF-8')));
return $str;
}
?>
38.
ramzes (03.02.2011 / 20:47)
37.
Nu3oN,
if ($br) {
$str = str_replace("\n", '[br]', $str);
} else {
$str = str_replace("\n", ' ', $str);
}
тогда так
если проявить внимание к тому что перенос строки аналогичен пробелу в форматировании текста
т.е не давать строкам слипнутся
39.
★☆ ИгRok™ ☆★ (03.02.2011 / 21:55)
мне кажется пост 37 более подходящий,если функция фильтрации та же,плюс перенос,вобще шикарно! Буду пробовать
40.
Nu3oN (03.02.2011 / 22:40)
но а вообще по мне так это велосипед
Добавлено через 06:21 сек.
Во блин! даже не подумал...
mysql_real_escape_string() добавляет слеш перед \n \r
уберай эти слеши stripslashes()
Добавлено через 09:53 сек.
http://php.net/manual/en/function.mysql-real-escape-string.php
mysql_real_escape_string() calls MySQL's library function mysql_real_escape_string, which prepends backslashes to the following characters: \x00, \n, \r, \, ', " and \x1a.
URL:
https://visavi.net/topics/18409