Autor Zpráva
Argos
Profil
Ahoj, přemýšlel jsem o scriptu který by mi rozsekal soubor podle toho jak jdou za sebou proměnné - z formátu:

$promenna1 = "hodnota"; //proměnná hodnota
$promenna2 = "jina hodnota"; //poznámka
$promenna3 = "třetí hodnota proměnné" //bez poznámky

by u každého řádku vzal vždy jméno přoměnné její hodnota a poznámku k ní a vypsal do formuláře tak aby se libovolná hodnota u každé proměnné dala změnit scriptem. Soubor jsem pomocí strtok rozsekal do jednotlivých řádků a následně jednotlivé řádky porovnávám regulérním výrazem
ereg($maska,$tok,$pole)

už několikrát jsem pomocí různých udělátek na internetu (http://www.regexp.cz/ ale i programy na pc) atd zkoušel napsat správně proměnnou $maska - nicméně validátory vrátí že je to správně ale ve scriptu to potom nejede

můj první pokus - tím se asi ani nezaobírejte:
^\$([[:alnum:]]*) \= "([_a-zA-Z0-9\.\-ěščřžýáíéňťůúď]*)"; \/\/([_a-zA-Z0-9\.\-ěščřžýáíéňťůúď]*)$
druhý pokus se mi povedl udělat mnohem jednodušeji nicméně nefunguje
^\$(.*) \= (.{1})(.*)(.{3}) \/\/(.*)\n$

tohle mi v programu Expresso vrací z řetězce
$promenna1 = "hodnota"; //proměnná hodnota
1:promenna1
2:"
3:hodnota
4:";
5:proměnná hodnota[CR]

po dosazení do scriptu ale znovu nefunguje - nevěděl by prosím někdo? Dík za každou reakci ;-)
Chamurappi
Profil
Reaguji na Argose:
^\$([^=]+)\s*=\s*"([^"]*)";\s*\/\/(.*)$
Argos
Profil
Omlouvám se, ale asi mám chybu jinde - ani tato maska nejede nemohl by na to někdo prosím kouknout? soubor index.php:

<?php
$file="./variables.php";
$fp=FOpen($file,"r");
$soubor=FRead($fp,FileSize($file));
$tok = strtok($soubor, "\n");
$maska= '^\$([^=]+)\s*=\s*"([^"]*)";\s*\/\/(.*)$';
while ($tok !== false) {
if(ereg($maska,$tok,$pole))
{
echo("celá proměnná: ".$pole[0]."<br />Název proměnné:".$pole[1]."<br />Hodnota proměnné:".$pole[2]."<br />Komentář:".$pole[3]."<br /><br />");
}
else
{
echo("Řetězec nevyhovuje.");
}
$tok = strtok("\n");
}
@FClose($fp);
?>

a soubor variables.php

$promenna1 = "hodnota"; //proměnná hodnota

stále vrací že řetězec nevyhovuje - přitom podle mého je to správně
a pokud by se tu ještě obejvil Chamurappi: Kde se dá tak pěkně naučit ovládání regulérních výrazů?:-[ (kniha, web, školení? - pro začátek) Dík
Argos
Profil
Chamurapi: abych nezapoměl - děkuji i za tento výraz ;-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0