Autor Zpráva
Anonymní
Profil *
Dobrý večer, dovolil bych si prosím požádat jako ještě celkem nezkušený s jednou funkcí.

Mám proměne:

$prom1 = "neco"; $prom2_pozice = "1"; $znak1 = "S"; $znak2 = "E";

a potrebuji najit v souboru cast textu, ktery podle promenych rika: budu hledat 1 text "neco" za timto textem najdu první znak S a prvni znak E a mezi temito znaky vyberu text.

Vůbec nevim jak na to mam jit. Poradil by mi prosím někdo? Googloval jsem cele odpoledne ale nenasel jsem vubec nic. Dekuji za pomoc. Pepa
amon
Profil
$prom1 = "neco";
$prom2_pozice = 1;
$znak1 = "S";
$znak2 = "E";

preg_match_all('~' . preg_quote($znak1) . '(.+)' . preg_quote($znak2) . '~', $prom1, $matches);

$vysledok = $matches[1][$prom2_pozice];


Tvoj výsedok bude v premennej $vysledok.
Anonymní
Profil *
[#2] amon

dekuji za kod, ale v cem se to bude hledat? v jakem textu? Nechybi tam neco? Dekuji
amon
Profil
Anonymní:
Prepáč, trochu som zle pochopil tvoj príspevok. Tu je ešte raz kód, tento by mal vyhovovať tvojmu zadaniu.
$prom1 = "neco";
$prom2_pozice = 1;
$znak1 = "S";
$znak2 = "E";

$obsah_suboru = file_get_contents('cesta/k/suboru.txt');

preg_match_all('~' . preg_quote($prom1 . $znak1) . '(.+)' . preg_quote($znak2) . '~', $obsah_suboru, $matches);

$vysledok = $matches[1][$prom2_pozice];


V premennej $vysledok bude text medzi písmenami S a E (podľa premenných $znak1, $znak2). Tie písmená (S, E) tam ale nebudú.

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