2013-05-22 7 views
0

У меня есть данные в текстовой области, вызывается из db, какие данные должны отображаться в новой строке без <br />, как я могу разбить <br /> и показать в textarea новую строку?PHP перерыв в новую строку

В моей колонке базы данных хранятся как hello<br />world точно также.

enter image description here

Спасибо.

+5

Вы должны хранить данные в базе данных, а не форматирование. Вы хотите иметь '
' или нет в вашем текстовом поле? –

+1

^Лучший ответ/комментарий Я читал в этой ветке до сих пор. – thpl

ответ

1

использование:

$text = 'This is some text<br />With a line break in it'; 

$text = str_replace('<br />', "\n", $text); 

// Outputs: 
    This is some text 
    with a line break in it 

Убедитесь, что параметр \n в str_replace между двойными кавычками. Это не работает между одинарными кавычками.

-1

Если это только для новых линий, вы можете использовать str_ireplace

$text = str_ireplace("<br />", "\n", $text); 
$text = str_ireplace("<br>", "\n", $text); 
0

, что о

str_replace('<br />', PHP_EOL, 'hello<br />world') 
-2

так, как я это сделать в HTML5 это положить много пространства между линией 1 и строка 2.

Это немного грязный рубить, но он работает.

<textarea rows="8" placeholder="Line 1          
                     Line 2 
                     Line 3"></textarea> 

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

+0

Как вы говорите, сохранение ненужных пробелов в вашей базе данных не является идеальным. Итак, зачем использовать неэффективное решение, если есть гораздо лучшие подходы (уже размещенные здесь). Рабочий код! = Хороший код – thpl

-1

То, что я хотел бы сделать, это определение многостроковых строк в массивах так:

$output = array(); 
$output[] = 'Hello<br />'; 
$output[] = 'World.<br />'; 
$output[] = '<br />'; 
$output[] = 'This is a test.'; 

echo implode("\r\n", $output); 

Это возвращает HTML-код:

Hello<br /> 
World.<br /> 
<br /> 
This is a test. 
3

Что вы должны сделать, это НЕ магазин HTML внутри вашей базы данных в первую очередь.

  1. Сохраните текст в базе данных, сохраняя символы перевода строки, как "\n".

  2. При визуализации на странице используйте nl2br(htmlspecialchars($str, ENT_QUOTES, 'UTF-8')).

-1

Вы можете использовать urlencode и urldecode, которые я использую для подобной вещи, например:

хранить данные в базе данных, как это:

$html  = urlencode($_POST['content']); 

с нормальным запросом, как это :

INSERT INTO table (Content) VALUES ('".$html."') 

И затем вытащите его из БД, используя следующее:

$strSQL1 ="SELECT Content FROM table; 
$objQuery1 = mysql_query($strSQL1); 
$objResult1  = mysql_fetch_array($objQuery1); 

$show  = urldecode($objResult1["Content"]); 

А затем заполнить текстовое поле с этим:

<textarea name="content"><?php echo "$show"?></textarea>