m0nstar
Goto Top

Value aus foreach in einer neuen Variable speichern (Php)

Es geht um eine Textarea, deren Eingabe möchte ich in eine neue Variable speichern, um diese später wieder verwenden zukönnen

Hallo zusammen,

habe ein kleines PHP Problem, ich habe eine kleine Textarea, deren Wert gebe ich per forech Zeilenweise wieder aus mit dem echo, jetzt wollt ich mal fragen wie ich das Ergebnis aus der foreach in einer neuen Variable speichern kann, um diese später wieder verwenden zukönnen.

Hier mein Script:

<?php
echo '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';  
echo '<textarea name="TA" cols="50" rows="10">';  
if (isset($_REQUEST["TA"])) {  
    echo $_REQUEST["TA"];  
}
echo '</textarea>';  
echo '<input type="submit" value="Aschicken">';  
echo '</form>';  
 
if (isset($_REQUEST["TA"])) {  
    $lines = preg_split("/\r\n/", $_REQUEST["TA"]);  
    foreach ($lines as $key => $value){
      echo ''.$value.' ';  
    }
}
?>

Ausgabe sieht so aus:

TestZeile1 TestZeile2 (und diese Ausgabe möchte ich in einer neuen Variable nun speichern)


Würde mich sehr über eine Hilfe freuen.

Lg,
m0nstar

Content-Key: 180703

Url: https://administrator.de/contentid/180703

Printed on: April 26, 2024 at 12:04 o'clock

Member: EvilMoe
EvilMoe Feb 17, 2012 at 16:37:40 (UTC)
Goto Top
Hallo,

wofür machst du denn das preg_split?
Willst du nur eine bestimmte Zeile in der Variable haben oder was möchtest du genau haben?

Du willst glaube ich das hier haben:
$inhalt = '';    
foreach ($lines as $key => $value){ 

       $inhalt .= $value.' ';  

    } 

EDIT: preg_split gibt ja ein Array zurück. Dann kannst du dir die Schleife auch ganz sparen und einfach implode verwenden.
 $inhalt = implode($lines, ' ');  
Member: m0nstar
m0nstar Feb 17, 2012 at 16:41:39 (UTC)
Goto Top
Danke face-smile das wars schon, funktioniert...

edit:// ok hast recht face-smile danke
Member: EvilMoe
EvilMoe Feb 17, 2012 at 16:43:43 (UTC)
Goto Top
Das müsste mit explode aber schneller gehen statt mit einem regulären Ausdruck.
 $lines = explode("\n", $_REQUEST["TA"]);  

Könntest ja mal testen ob das nicht schneller läuft, vermute aber das explode schneller arbeitet.
Member: m0nstar
m0nstar Feb 17, 2012 at 17:05:54 (UTC)
Goto Top
jop geht wirklich etwas schneller face-smile wusst ich garnet mit dem explode
Member: EvilMoe
EvilMoe Feb 17, 2012 at 18:06:12 (UTC)
Goto Top
Da fällt mir gerade ein, du möchtest doch nur die "\r" und "\n" entfernen oder nicht?
Sozusagen die eingegebenen neue Zeilen wieder zu einer zusammenfügen.

Dann ist explode und da nach ein implode natürlich blödsinn^^
Dann ist das entfernen von "\n" und "\r" natürlich eleganter und einfacher.