[PHP] Reguläre Ausdrücke....

almdudler777

Well-known member
ID: 115892
L
21 Mai 2006
45
1
Hallo Leute,

habe da ein Problem. Und zwar lese ich ein ziemlich großes Formular über ne Template funktion ein. Hat der Benutzer es ausgefüllt geht es zur Bearbeitung.... allerdings sollte ein Fehler auftreten kommt ne Meldung und er muss es korrigieren. Soweit ja nichts neues :)

Allerdings brauche ich ne Funktion die, die Angegebenen Werte nun wieder ins Formular setzt, damit der Benutzer nicht alles nochmal ausfüllen muss....

PHP:
function autofill_raus($eins,$key,$value,$zwei)
{
	$eins = stripslashes($eins);
	$zwei = stripslashes($zwei);
	return ("<input".preg_replace("!value=\"(.*?)\"!im","",$eins)." name=\"$key\" value=\"$value\"".preg_replace("!value=\"(.*?)\"!im","",$zwei).">");
}  
function autofill_form($template,$array)
{
 $return = $template;
 foreach ($array as $key=>$value)
 {
  $return = preg_replace("/<input(.*?)name=\"$key\"(.*?)>(?! )/ime","''.autofill_raus('$1','$key','$value','$2').''",$return); 
 }                                                                                                           
 return ($return);
}

hatte mir gedacht ich maches es mit regulären Ausdrücken.... läuft auch solange nicht zweimal <input> irgendwas in einer Zeile steht...

hat jemand nen Tipp?

Das Problem scheint darin zu liegen, dass er immer vom ersten auftauchen von < bis zum letzen der Zeile geht.... er soll aber immer das zugehörige > finden.... sonst bleibt ein Inputfeld leer und das zweite in der gleichen zeile wird richtig ausgefüllt....

MFG almdudler
 
kannst du nicht einfach bei value "<?php echo $_POST['feldname']; ?>" reinmachen? dann wird der angegebene wert wieder hereingeschrieben oder das feld ist leer wen noch nichts abgeschickt wurde

mfg
Gsus
 
mache ich normal auch so... nur sollen irgendwo Programm Code und HTML COde getrennt sein! Die HTML Sachen stehen in eigenen Dateien... könnte natürlich das trotzdem rein schreiben und nen exec oder so drüber laufen lassen, wie das in manchen foren gemacht wird... das Problem ist nur später sollen auch laien das "Outfit" ändern ;) und wenn die da PHP sehen machen sie nur quatsch und ich muss es wieder reparieren...