Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrażenie regularne
Forum PHP.pl > Forum > PHP
emacieka
Mam sobie takie dane:
Kod
nazwa_zmiennej = 'wartosc' // 1
cos = "cos" // 2
cos_innego = 1 // 3


i mam rowniez wyrazenie:
  1. <?php
  2. if (preg_match('/^([a-zA-Z0-9_]*) = ['"](.*)['"]$/', $line, $match))
  3. {
  4. ...
  5. }
  6. ?>

gdzie jak latwo sie domyslic czyta tylko rzeczy z apostrofem lub cudzyslowem (przyklad 1 i 2).
Jak zmienic to wyrazenie zeby czytal jeszcze opcje 3 bez stosowania kolejnego preg_match w ifie?

btw: wiem ze jest cos takiego parse_ini_file ale potrzebuje to inaczej zrobic cool.gif
piczu
  1. <?php
  2. preg_match('/^([a-zA-Z0-9_]*) = ((['"](.*)['"])|([0-9]*))$/', $line, $match))
  3. ?>
emacieka
zle podalem ten przyklad worriedsmiley.gif
chodzilo mi o to zeby wylapal jesli mam tez jakies dane ale bez zadnych '/"
np.
Kod
cos = bla bla
a nie tylko liczby

jak proboje cos takiego:
  1. <?php
  2. preg_match('/^([a-zA-Z0-9_]*) = ['"]?(.*)['"]?$/', $line_data, $match)
  3. ?>

to niby dziala ale kiedy mam dane z '/" zmienna na koncu ma '/" (cos = 'bla' => bla')
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.