Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]preg_match_all - problem
client
post 10.10.2008, 18:28:50
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 10.10.2008

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


Witam!

Mam kawałek tekstu i chciałbym z niego pobrać 2 kawałki. Przykładowo: '2 - Kokos, Gamend, ogrty, zaser, orges'. Chcąc uzyskać liczbę na początku i nazwy znajdujące się po myślniku napisałem takie coś:

CODE
preg_match_all('#([0-9]{1,2})\s-\s(?:,\s)?(?:.+)?(?:([a-zA-Z\.\-0-9]{4,24})(?:,\s)?)#','2 - Kokos, Gamend, ogrty, zaser, orges', $wynik);


ale dostaje w wyniku ostatnią nazwę pasującą do wzorca, a to nie było moim celem, chciałem uzyskać wszystkie nazwy pasujące do tej liczby. Moje pytanie brzmi: Dlaczego tak się dzieje, dlaczego dostaje tylko jedną wartość pasującą do wzorca choć jest ich kilka i jak uzyskać mój cel?

Dodam tylko jeszcze że ilość tych nazw i wartość liczby na początku nie są  zawsze takie same jak w przykładzie.

Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
drPayton
post 10.10.2008, 20:26:46
Post #2





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


  1. <?php
  2. $text = '2 - Kokos, Gamend, ogrty, zaser, orges';
  3.  
  4. preg_match_all('/(d+)*(w+)/is', $text, $wynik, PREG_PATTERN_ORDER);
  5.  
  6. echo '<br><pre>';
  7. print_r($wynik);
  8. echo '</pre><br>';
  9. ?>


Efekt:
Kod
Array
(
    [0] => Array
        (
            [0] => 2
            [1] => Kokos
            [2] => Gamend
            [3] => ogrty
            [4] => zaser
            [5] => orges
        )

    [1] => Array
        (
            [0] =>
            [1] =>
            [2] =>
            [3] =>
            [4] =>
            [5] =>
        )

    [2] => Array
        (
            [0] => 2
            [1] => Kokos
            [2] => Gamend
            [3] => ogrty
            [4] => zaser
            [5] => orges
        )

)
Go to the top of the page
+Quote Post
client
post 10.10.2008, 20:45:46
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 10.10.2008

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


Oto mi chodziło. Serdeczne dzięki smile.gif
Go to the top of the page
+Quote Post
--przemek_el--
post 23.10.2008, 20:46:02
Post #4





Goście







A potrafiłby mi ktoś pomóc? W ogóle nie znam się na wyrażeniach regularnych.

z kodu"
  1. <!-- Nazwa Produktu //--> <div id="nazwa_produktu">Jakaś tam nazwa</div>
  2.  
  3. <tr style='background-color: #FFFFFF;'><td class="bok">
  4. Jakieś tam wartości
  5. </td> </tr> </table>


Potrzebuje jako tablicę wyciągnąć :
  • Jakaś tam nazwa
  • Jakieś tam wartości

Pozdrawiam
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: 25.07.2025 - 10:01