Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Pomoc w napisaniu wyrażenia regularnego
arzach
post 30.06.2011, 08:44:21
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

Ostrzeżenie: (0%)
-----


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
"/(.*?)\"|\"(.*?)"


Ten post edytował arzach 30.06.2011, 08:46:35
Go to the top of the page
+Quote Post
korex
post 30.06.2011, 08:59:53
Post #2





Grupa: Zarejestrowani
Postów: 36
Pomógł: 4
Dołączył: 2.02.2008

Ostrzeżenie: (0%)
-----


  1. $tablica= array(
  2. array('/phpmyadmin', 'E:/LiMP/apps/phpmyadmin'),
  3. array('/servmanager1', 'E:/LiMP/apps/servmanager')
  4. );
Go to the top of the page
+Quote Post
arzach
post 30.06.2011, 09:05:01
Post #3





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Sephirus
post 30.06.2011, 09:19:32
Post #4





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 30.06.2025 - 05:00