Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] wyrazenia regularne
Forum PHP.pl > Forum > Przedszkole
yalus
czesc

czy moglby mi ktos pomoc przy konstrukcji wyrazenia regularnego tak aby przepuszczajac przez nie string o postac:

<option value="1011">Nabiał (13)</option>

otrzymac cos takiego:

Nabiał


z tym ze takich stringow mam kilka do przerobki i sęk w tym że te warto¶ci w cudzyslowiu tj. 1011 i to w nawiasie okroglym tj. 13 dla innych stringow zmieniaja sie
inny moze miec taka postac:

<option value="11">Turystyka (1453)</option>

i tutaj chcialbym cos takiego

Turystyka

czy da sie cos takiego zrobic?
Lars
Owszem, da się.

Wystarczy w preg_replace użyć (.*?)
barthpl
Dla podanego problemu my¶lę, że takie co¶ jest ok:

  1. <?php
  2. $input[] = '<option value="1011">Nabiał (13)</option>';
  3. $input[] = '<option value="11">Turystyka (1453)</option>';
  4. $output = array();
  5.  
  6. $patern = '>([a-zA-Z±ˇćĆęĘłŁńŃóÓ¶¦żŻĽ¬]+)';
  7.  
  8. foreach( $input as $key => $val ) {
  9. ereg( $patern, $val, $regs );
  10. $output[$key] = $regs[0]; 
  11. }
  12.  
  13. print_r( $output );
  14. ?>


Powinno dać wynik:

Array
(
[0] => >Nabiał
[1] => >Turystyka
)

Po szczegóły odsyłam do specyfikacji funkcji ereg" title="Zobacz w manualu PHP" target="_manual i/lub pokrewnych.
yalus
czesc

dzieki, to co napisales to dziala
ale ja zapomnialem dodac ze string na wejsciu moze miec rowniez taka postac:

<option value="1011">warzywa i owoce (13)</option>


i to co ty mi poradziles to zwroci:

warzywa

a mi zalezy na

warzywa i owoce

wiedzial bys jak zrobic aby caly ciag byl zwrocony?
Shili
Ze swojej strony na szybko proponowałabym tak± modyfikację:
  1. <?php
  2. $input[] = '<option value="1011">Nabiał i owoce (13)</option>';
  3. $input[] = '<option value="11">Turystyka (1453)</option>';
  4. $output = array();
  5.  
  6. $patern = '/>([a-zA-Z±ˇćĆęĘłŁńŃóÓ¶¦żŻĽ¬s]+[a-zA-Z±ˇćĆęĘłŁńŃóÓ¶¦żŻĽ¬]*)/';
  7.  
  8. foreach( $input as $key => $val ) {
  9. preg_match( $patern, $val, $regs );
  10. $output[$key] = $regs[1]; 
  11. }
  12.  
  13. print_r( $output );
  14. ?>
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.