Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вывод текста из бд с тегом <p></p>
Форумы портала PHP.SU » » Вопросы новичков » Вывод текста из бд с тегом <p></p>

Страниц (1): [1]
 

1. livote - 18 Июля, 2014 - 11:16:51 - перейти к сообщению
Как сделать, что бы текст вида

CODE (html):
скопировать код в буфер обмена
  1.  
  2. Текст текст
  3.  
  4. Текст текст
  5.  


выводился (в html коде)

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <p>Текст текст<p>
  3. <p>Текст текст<p>
  4.  
2. Webtest - 18 Июля, 2014 - 11:24:53 - перейти к сообщению
livote, если я правильно понял:
CODE (SQL):
скопировать код в буфер обмена
  1. mysql_connect("localhost", "root", "***") OR die(mysql_error());
  2. mysql_select_db('yourDb') OR die(mysql_error());
  3. $strSQL = "SELECT * FROM yourTable";
  4. $rs = mysql_query($strSQL);
  5. while ($row = mysql_fetch_array($rs)) {
  6. echo '<p>' . $row['text'] . '</p>';
  7. }
3. livote - 18 Июля, 2014 - 11:33:35 - перейти к сообщению
Webtest пишет:
livote, если я правильно понял:
CODE (SQL):
скопировать код в буфер обмена
  1. mysql_connect("localhost", "root", "***") OR die(mysql_error());
  2. mysql_select_db('yourDb') OR die(mysql_error());
  3. $strSQL = "SELECT * FROM yourTable";
  4. $rs = mysql_query($strSQL);
  5. while ($row = mysql_fetch_array($rs)) {
  6. echo '<p>' . $row['text'] . '</p>';
  7. }

Это просто сначала и с конца текста добавится и всё. А между, там где новая строка между текстом, в html абзацы не добавятся.
4. Webtest - 18 Июля, 2014 - 11:36:48 - перейти к сообщению
livote, это можно попробовать через какой-нибудь preg callback по переносу строки, но я тут не очень хорошо разбираюсь.
5. IllusionMH - 18 Июля, 2014 - 11:37:48 - перейти к сообщению
livote, разбивайте по переносам строк двойным и доабавляйет теги.
Еще можно посмотреть реализацию wpautop из WP.
6. livote - 18 Июля, 2014 - 11:39:32 - перейти к сообщению
Погуглил, нашёл небольшой результат:

PHP:
скопировать код в буфер обмена
  1. # сначала кодируем спецсимволы
  2. $myrow[text] = htmlspecialchars($myrow[text]);
  3. # двойные и более раз повторяющиеся новые строки заменяем на конец и начало нового <p>
  4. $myrow[text] = '<p>' . preg_replace('/(\\r\\n?|\\n){2,}/', '</p><p>', $myrow[text]) . '</p>';
  5. # оставшиеся одиночные переносы заменяем на <br/>
  6. $myrow[text] = preg_replace('/\\r\\n?|\\n/', '<br/>', $myrow[text]);


IllusionMH, ваш совет посмотрю внимательней..

 

Powered by ExBB FM 1.0 RC1