2016-06-21 11 views
1

Ich habe zwei verschiedene textarea und ich möchte das in einem Feld der Datenbank mit Zeilenumbrüchen speichern. Es funktioniert gut, wenn ich einen textarea Wert in Tabellenfeld speichern, aber ich muss beide textarea Wert in einem Feld speichern.Kombinieren Sie zwei Textbereich Wert mit Zeilenumbrüchen mit PHP

Beispiel: -

textaera 1)

Hello 
text from textarea1 

TextArea- 2)

How are you? 
its second textarea text 

Output, die ich mit allen Zeilenumbrüche brauchen und auch zwischen zwei textarea Wert: -

Hello 
text from textarea1 
How are you? 
its second textarea text 
+0

Verwenden Sie '\ r \ n', um den Zeilenumbruch zu kennzeichnen –

+3

' $ combined = $ textarea1. PHP_EOL. $ textarea2; 'Verwenden Sie' nl2br ($ combined) ', wenn Sie die Zeilenumbrüche in HTML ausgeben möchten. – iainn

+0

Um in HTML auszugeben, verwenden Sie: 'preg_replace ("/\ r \ n/","
", $ string);' –

Antwort

3

Angenommen, Sie kommen beide Werte in die Variablen $textarea1 and $textarea2 entsprechend. Sie können es wie unten tun: -

$combine_data = $textarea1."\n".$textarea2; 

ODER

$combine_data = $textarea1 . PHP_EOL . $textarea2; and use nl2br($combined) to show it again in text-area //@iainn suggestion 

ODER

$combine_data = $textarea1 ."<br/>". $textarea2; 

Referenz genommen: -

add line break between 2 variables

+0

aber dann Wie kann ich es in einem Textfeld anzeigen? Es zeigt \ r \ n in textarea. –

+0

Ich habe nur ein Feld aus der Datenbank nicht wie Ihre Antwort $ textarea1 und $ textarea2 –

+0

Man.Von den zwei Text-Bereichen erhalten Sie zuerst den Wert und verketten sie dann gemäß der dritten Lösung und speichern sie dann in der Datenbank. Wenn Sie es erneut in den Textbereich holen und dort anzeigen, wird automatisch ein Zeilenumbruch angezeigt, der durch "
" ausgelöst wird. –

1

Wie bereits erwähnt, wenn Sie wollen sein können die Blöcke getrennt (für eine größere Flexibilität), sondern speichern sowohl in einer Spalte abzurufen, können Sie serialize() verwenden:

die Daten zu speichern:

$data = array('p1'=>$_POST['textarea1'], 'p2'=>$_POST['textarea2']); 
$compress = serialize($data); 
//insert value $compress into one column in your database 

die Daten abzurufen:

// Get column from database 
$data = $row['db_column']; 
$decompress = unserialize($data); 
// Echo to browser using html break and End Of Line constant (for compatibility) 
echo implode('<br />'.PHP_EOL,$decompress); 

Sie auch jeden Wert separat echo kann nach Deserialisierens:

echo $decompress['p1'].'<br />'.PHP_EOL. 
     $decompress['p2'].'<br />'.PHP_EOL; 

Auf diese Weise können Sie die Daten in ihren jeweiligen Blöcken abrufen. Wenn Sie sich später dafür entscheiden, etwas zu ändern, haben Sie immer noch alle Rohdaten in Blöcken.