Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] wycinanie ciągu znaków z ciągu znaków, czyli zastosowanie preg_match_all() i wyrażenia regularnego
Athlan
post
Post #1





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


chciałbym z poniżeszego tekstu:

Kod
435-345345-435345-435, 33443-34-3443-34-3443, 3434344334-34344-343-4, 885-354245-437545-455


wydzielić tylko te ciągi liczb, które odpowiadają wyrażeniu regularnemu:
Kod
^[0-9]{3}-([0-9]{6}-){2}[0-9]{3}$


w powyższym ciągu tylko 2 elementy spełniają powyższe wyrażenie... pierwszy i ostatni.
Chciałbym je po prostu wypisać z ciągu w następujący sposób:
Kod
435-345345-435345-435|885-354245-437545-455


i nie chodzi mi tutaj o takie coś:
  1. <?php
  2.  
  3. $string = "435-345345-435345-435, 33443-34-3443-34-3443, 3434344334-34344-343-4, 885-354245-437545-455";
  4. $array_from_string = explode(',', $string)
  5.  
  6. foreach($array_from_string as $element)
  7. {
  8. if(ereg("^[0-9]{3}-([0-9]{6}-){2}[0-9]{3}$", $element))
  9. {
  10. echo $element;
  11. }
  12. }
  13.  
  14. ?>


tylko, żeby wyciąć te stringi ze stringu biggrin.gif (dziwnie to brzmi O_o)

patrzyłem na funkcje preg_match_all(), preg_split(), ale tam moje wyrażeie zupełnie nie działa sad.gif

  1. <?php
  2.  
  3. $i = "435-345345-435345-435, 33443-34-3443-34-3443, 3434344334-34344-343-4, 885-354245-437545-455";
  4.  
  5. preg_match_all("^[0-9]{3}-([0-9]{6}-){2}[0-9]{3}$", $i, $wyciete, PREG_PATTERN_ORDER);
  6.  
  7. $array = $wyciete[1];
  8.  
  9. foreach($array as $element)
  10. {
  11. echo $element.'<br>';
  12. }
  13.  
  14. ?>


jak mam to zrobić?

Ten post edytował Athlan 21.06.2006, 15:07:28


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 20.08.2025 - 09:01