Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Pomoc w napisaniu wyrażenia regularnego
Forum PHP.pl > Forum > Przedszkole
arzach
Witam potrzebuje pomoc w napisaniu wyrażenia regularnego z takiego ciągu
  1. $txt = "alias.url = (\"/phpmyadmin\" => \"E:/LiMP/apps/phpmyadmin\",\"/servmanager\" => \"E:/LiMP/apps/servmanager\")";


by dostać taką tablice

Kod
Array
(
    [0] => Array
        (
            [0] => /phpmyadmin
            [1] => E:/LiMP/apps/phpmyadmin
        )

    [1] => Array
        (
            [0] => /servmanager
            [1] => E:/LiMP/apps/servmanager
        )

)


Próbowałem sam napisać ale nie wychodzi mi napisałem takie coś ale nie działa
Kod
"/(.*?)\"|\"(.*?)"
korex
  1. $tablica= array(
  2. array('/phpmyadmin', 'E:/LiMP/apps/phpmyadmin'),
  3. array('/servmanager1', 'E:/LiMP/apps/servmanager')
  4. );
arzach
Dzięki za pomoc ale chyba nie zrozumiałeś o co mi chodzi. Chodzi mi o wyciągniecie tych danych z tego
  1. $txt = "alias.url = (\"/phpmyadmin\" => \"E:/LiMP/apps/phpmyadmin\",\"/servmanager\" => \"E:/LiMP/apps/servmanager\")";


za pomocą preg_match i dane te mogą być za każdym razem rożne.
Sephirus
Kod:

  1. $txt = "alias.url = (\"/phpmyadmin\" => \"E:/LiMP/apps/phpmyadmin\",\"/servmanager\" => \"E:/LiMP/apps/servmanager\")";
  2.  
  3. preg_match_all('/"(\/[^"]+)"\s=>\s"([^"]+)"/si',stripslashes($txt),$match);
  4.  
  5. $tablica = array();
  6.  
  7. for($i = 0; $i < count($match[1]); $i++)
  8. $tablica[] = array($match[1][$i],$match[2][$i]);
  9.  
  10. print_r($tablica);


daje w rezultacie:

Kod
Array
(
    [0] => Array
        (
            [0] => /phpmyadmin
            [1] => E:/LiMP/apps/phpmyadmin
        )

    [1] => Array
        (
            [0] => /servmanager
            [1] => E:/LiMP/apps/servmanager
        )

)


HTH! wink.gif
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.