Autor Zpráva
vojtan
Profil
Zdravím, řeším tento problém, mám řetězec s údaji, které jsou odděleny čárkou a každý údaj má ještě v závorce uvedenou specifikaci asi takto: udaj1(50);udaj2(30);udaj3(33)

Jakým způsobem můžu vypsat jednotlivé údaje v závorce
Díky za radu
Majkl578
Profil
Pokud stačí jen to číslo a nepotřebuješ to před závorkou, tak:
$data = 'udaj1(50);udaj2(30);udaj3(33)';
preg_match('~\((\d+)\)~', $data, $matches);
var_dump($matches);
A kdyby obojí:
preg_match('~(\w+)\((\d+)\)~', $data, $matches);
vojtan
Profil
Děkuji funguje to, a ještě mám jeden dotaz, kdyby v závorce bylo např (+50), jak bych upravil kód nahoře, aby z toho dostal jenom to číslo bez znaku plus? Díky
Majkl578
Profil
Upravil bys ten regulární výraz na:
~\(\+?(\d+)\)~
Ještě bych opravil kód výše - budeš muset použít preg_match_all místo preg_match, jinak by ti to vrátilo jen první nález.
$data = 'udaj1(+50);udaj2(+30);udaj3(33)';
preg_match_all('~\(\+?(\d+)\)~', $data, $matches);
var_dump($matches);

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