Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [regexp] wyciągnięcie 3 danych ze stringa
Forum PHP.pl > Forum > PHP
Najki
Mam np. takie stringi:
Kod
abc.pl-01_andrzej.png
onet.pl-09_roman.jpg
wp-wp-wp.eu.org-39_zygmunt.png

Chcę wyciągnąć z nich 3 dane:
Kod
abc.pl-01_andrzej.png
- abc.pl
- 01
- andrzej

onet.pl-09_roman.jpg
- onet.pl
- 09
- roman

wp-wp-wp.eu.org-39_zygmunt.png
- wp-wp-wp.eu.org
- 39
- zygmunt


Próbowałem tak:
  1. <?
  2. $string = str_replace('-', '__', $string); // aby zmieścić myślnik w modyfikatorze "w"
  3. preg_match_all('/([w].pl)__([d]{1,2})_([w]).([w]{3})/is', $string, $results);
  4. ?>


Jak nie trudno się domyślić - nie działa. Proszę o pomoc - poprawienie wyrażenia.
crash
  1. <?php
  2. $t = 'abc.pl-01_andrzej.png
  3. onet.pl-09_roman.jpg
  4. wp-wp-wp.eu.org-39_zygmunt.png';
  5.  
  6. preg_match_all( '/(.+?)-([0-9]+)_(.+?).[a-z]+/ie', $t, $o, PREG_SET_ORDER );
  7.  
  8. print_r( $o );
  9. ?>

Hmmm, nawet nie trzeba było bardzo kombinować...
Najki
Szczerze mówiąc nie działa mi to.
crash
Możliwe? Raczej nie smile.gif Sprawdziłem teraz na php 4.4.1, 5.0.5-dev i 6.0.0-dev. Wszędzie wynik:
Kod
Array
(
    [0] => Array
        (
            [0] => abc.pl-01_andrzej.png
            [1] => abc.pl
            [2] => 01
            [3] => andrzej
        )

    [1] => Array
        (
            [0] => onet.pl-09_roman.jpg
            [1] => onet.pl
            [2] => 09
            [3] => roman
        )

    [2] => Array
        (
            [0] => wp-wp-wp.eu.org-39_zygmunt.png
            [1] => wp-wp-wp.eu.org
            [2] => 39
            [3] => zygmunt
        )

)
Najki
Sorry, mój błąd :/. Mój kod analizował string z "-" zamienionymi na "__" i nie usunąłem tej linijki z str_replace :/. Przepraszam raz jeszcze, bo kod faktycznie działa. Dzięki wielkie.
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.