Autor Zpráva
corwin
Profil *
Ahoj, mám dotaz.

Mam v nějaké proměnné třeba <ukazNeco(123)> a pomocí RV + nějaké fce(ereg?) bych to chtěl načíst do proměnné($pocet).

Díky za radu
Charlie
Profil
Načíst do proměnné? Pak snad jedině funkce preg_replace_callback. Ale v regexpech se moc nevyznám.
corwin
Profil *
No abych měl ten počet z xxx(123) v proměnné
Charlie
Profil
Já ti rozumím. Tak střela na slepo:
/<([a-zA-Z]){1,15}\(([0-9]){1,10}\)>/

Na 99 % je to blbost. Ale přečti si o té funkci, co vlastně dělá.
halogan
Profil
<?php

$str = "<ukazNeco(123)>";
preg_match("/^<[a-zA-Z]+\(([0-9]+)\)>$/", $str, $match);
print $match[1];
Charlie
Profil
halogan, corwinovo zadání vyznělo tak, jako by to chtěl aplikovat do nějaké šablony, pak je nutné počítat ještě s tím, že před/za řetězcem může být text.


corwin, pokud chceš mít před nebo za řetězcem text, musíš upravit ten regulár takhle:
/<[a-zA-Z]+\(([0-9]+)\)>/
halogan
Profil
Charlie: Jiste, ale pocitam s tim, co on rika, doslova: "Mam v nějaké proměnné třeba <ukazNeco(123)>" - tak sem si myslel, ze to je jediny obsah, ale to je jedno.
Charlie
Profil
halogan, vím, on to tak říkal. Já jsem jen vzal v úvahu jednu z možných variant, tvoje řešení je samozřejmě bezchybné.
regexp
Profil *
mnoho informací o RV (v češtině) je na webu
Regulární výrazy

tedy i o RV v PHP - ereg_ i preg_ funcích
Toto téma je uzamčeno. Odpověď nelze zaslat.

0