Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]wyrażenia regularne, łączenie wzorców
cinio
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 1.01.2006

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


Mam np. takie coś:

  1. <?php
  2. $tekst = 'to jest 15 orzech, a to 20 jabłko';
  3. $wzor = '#jest(.*?)orzech#';
  4.  
  5. preg_match($wzor, $tekst, $wynik); 
  6. echo $wynik[1];
  7. ?>


Czy moge jakoś połączyć lub utworzyć jakoś inny wzór, by móc jednocześnie wyciągnąć z tekstu ile jest orzechów i jabłek, czy musze napisać funckje preg_match podspodem jeszcze raz z nowym wzorem?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bim2
post
Post #2





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


  1. <?
  2. $tekst = 'to jest 45 orzech, a to jest 20 jabłko';
  3. $wzor = '/jest[s]([0-9]+)(?:.*?)/';
  4.  
  5. preg_match_all($wzor, $tekst, $wynik); 
  6. unset($wynik[0]);
  7. $wynik=$wynik[1];
  8.  
  9. print_r($wynik);
  10. ?>
wyciaga kolejne liczby a jesli chcesz tlyko orzech i jabłko to:
  1. <?php
  2.  
  3. $tekst = 'to jest 45 orzech, a to jest 20 jabłko';
  4. $wzor = '/jest[s]([0-9]+)[s](orzech|jabłko?)/';
  5.  
  6. preg_match_all($wzor, $tekst, $wynik); 
  7.  
  8. foreach($wynik[1] AS $key => $w)
  9. {
  10. $t[$wynik[2][$key]]=$w;
  11. }
  12.  
  13. print_r($t);
  14.  
  15. ?>


Ten post edytował bim2 26.06.2006, 15:55:58
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 21.10.2025 - 09:42