Trim() für alle Post Variablen

Hallo,

meine Internetseite besitzt einige Eingabeformulare. Leider schleichen sich zu Beginn hin und wieder Leerzeichen ein. Diese möchte ich mit einer trim() Funktion automatisch bei allen Post Variablen entfernen. Grundsätzlich ist mein Problem mit 4 bis 5 Zeilen Code zu lösen, leider finde ich die entsprechende Seite in meinem Buch (PHP 5 & MySQL 5) nicht mehr, ich suche bereits seit einiger Zeit. Als Anfänger komme ich leider nicht von selbst auf die Lösung. Kann mir jemand helfen? Ich suche inzwischen weiter…

Vielen Dank!

Hallo

vielleicht so?

foreach ($\_POST as &$value) $value=trim($value);

sigterm

Hallo,

ohne es getestet zu haben führt

array\_map("trim", $\_POST);

oder

array\_map(create\_function('$a', 'return trim($a);', $\_POST);

vielleicht zum Erfolg.

array_map wendet entweder direkt trim oder die temporär erzeugte Funktion auf die Elemente des Arrays an.

VG

Ich würd fast sagen, je nachdem wie die Form aussieht.
Gibt es array Felder , braucht es wohl auch noch eine rekursion .

ich hab also
z.b.
?p=page&l=start&slist1[]=view&slist1[]=showdate&slist1[]=2011-04-04
$_POST[„p“]
$_POST[„l“]
und das array
$_POST[„slist1[]“]

da glaub ich funktionieren die Versionen der anderen Antworten nicht wirklich.

Danke für eure Antworten. Ich merke gerade, ich kenn mich in PHP nicht so gut aus, wie ich das gerne hätte.

Array Felder sind doch ein Thema wenn Checkboxen verwendet werden.

Würde dann der folgende Code nicht funktionieren?

foreach($_POST as $key => $val)
{
$_POST[$key] = trim($val);
}

Die von dir gepostete Lösung verstehe ich leider nicht :confused:

Hallo,

mach es mit folgender Funktion:

function array\_trim($array) {
 if(!is\_array($array)) {
 return $array;
 }

 foreach($array as $key =\> $value) {
 if(is\_array($value)) {
 $array[$key] = array\_trim($value);
 }
 else {
 $array[$key] = trim($value);
 }
 }
 return $array;
}

Anwendung:

$post\_variablen = array\_trim($\_POST);

VG

Hallo

Kürzer geht es mit

function array\_trim($array) {
 if(is\_array($array)) {
 foreach($array as &$value) {
 $value = array\_trim($value);
 }
 }
 else {
 $array = trim($array);
 }
 return $array;
}

sigterm