Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Vypsání všech name="xxx" do nového souboru

Dělám formulář. Je tam asi 60 inputů. Potřeboval bych vypsat do nového textového souboru všechny hodnoty name co tam jsou, nejlépe ve tvaru $hodnota a pod sebe, abych to mohl dál zpracovat a nevypisoval to po jednom.
Jednak je to děsně pracné a také bych na nějaký určitě zapomněl jak se znám.
Editor používám PSPad. Mohl byste mi to prosím někdo napsat? Slibuji, že si to poznamenám do kornaťáčku, jelikož to určitě budu zase potřebovat.
Děkuji 1058x (hoste tady je těch 56+2 dyško :-) )

Předmět Autor Datum
PHP kod: <?php $content = '<input name="aa" ...>..........<input name="bb" ...>'; preg_match_all("/…
marekdrtic 08.08.2010 07:23
marekdrtic
foreach($_GET as $key => $value) { echo "key: $key value: $value<br>"; }…
AZOR 08.08.2010 07:52
AZOR
koukam vzasade co poslal ten nademnou, jde o to, ze kazdou promenou GET,POST,REQUEST,COOKIES... muze…
AZOR 08.08.2010 07:54
AZOR
Mě ani nenapadlo v udělat to v PHP. Jednou jsem to dělal nějak v PSPadu. Možná by stačil správný reg…
Kráťa 08.08.2010 11:49
Kráťa
Nojo. Jenže v tom vlákně to hledá něco jiného a já neumím právě ten regulární výraz :-( edit://ale…
Kráťa 08.08.2010 13:44
Kráťa
Nojo. Jenže v tom vlákně to hledá něco jiného a já neumím právě ten regulární výraz Nepomůže ti tř…
kmochna 08.08.2010 13:59
kmochna
Ty vado! Já v tom hledal složitosti a tady je to tak pěkně vysvětleno, že jdu experimentovat a až bu…
Kráťa 08.08.2010 16:38
Kráťa
jsou to takový pokročilejší hvězdičky u pejska ve hledání ve windows. [xpsearchcompanion.gif]
kmochna 08.08.2010 18:51
kmochna
Pěkný obrázek. :-)
host 08.08.2010 18:54
host
jeden z prvních vylezlivších v g image na dotaz " windows search assistant dog"- já za to nemůžu. :-… poslední
kmochna 08.08.2010 18:56
kmochna

PHP kod:

<?php
$content = '<input name="aa" ...>..........<input name="bb" ...>';

preg_match_all("/name=\"(.*)\"/siU",$content,$matches); //sorry, jestli je ten zápis regulárního výrazu blbě, ale tohle jsem zkopíroval z jednoho mého skriptu a funguje to :-)
foreach($matches[1] as $match)
{
echo $match.'<br>';
}
?>

Vyplivne do prohlížeče:

aa
bb

Edit: Samozřejmě si to už pak uprav pro potřeby, jak to chceš, třeba pro MySQL dotaz:

<?php
$content = '<input name="aa" ...>..........<input name="bb" ...>';

$result = 'mysql_query("INSERT INTO `tabulka` SET ';

preg_match_all("/name=\"(.*)\"/siU",$content,$matches); //sorry, jestli je ten zápis regulárního výrazu blbě, ale tohle jsem zkopíroval z jednoho mého skriptu a funguje to :-)
foreach($matches[1] as $match)
{
$result .= '`'.$match.'`= \'".$_POST[\''.$match.'\']."\', ';
}

$result = substr($result,0,strlen($result)-2);
$result .= ';\");';
echo $result;
?>

Vyplivne:

mysql_query("INSERT INTO `tabulka` SET `aa`= '".$_POST['aa']."', `bb`= '".$_POST['bb']."';\");

Ideální pro ty, kterým moc nejde syntax, tak si to takhle zautomatizovat a jen kopírovat.

Edit 2: Oboje jsem vyzkoušel a funguje.

Nojo. Jenže v tom vlákně to hledá něco jiného a já neumím právě ten regulární výraz :-(

edit://ale poradil jsem si. Všechny name=" jsem nejdříve nahradil za name="$ a pak se mi to podle toho vlákna vypsalo jedna báseň i s těmi $ na začátku.

edit1://ještě řešení z toho vlákna, aby se nemuselo klikat.

Jan Fiala:
Pokud je chces jen najit a vytahnout do noveho souboru, pouzij PSPad.
1. Zobraz si pruzkumnik kodu a jeho obsah (prava mys) si otevri v novem souboru

2. Pomocí hledání:
Hledat: \$[\w_\-]+
[x]Regularni vyrazy
Tlacitko Kopírovat

Pak muzes pouzit z menu Upravy funkci Seradit s [x]Odstranit duplicity

když jsem nejdříve přejmenoval ty name=" na name="$ udělalo se přesně co jsem chtěl.

Zpět do poradny Odpovědět na původní otázku Nahoru