Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][wyrazenia] usunąć wszytko poza { }
b_chmura
post
Post #1





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


Witam
Panie i Panowie jak z tekstu usunąć wszystko oprócz tego co znajduje sie między np. klamerkami ({ })?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Najprościej to wywalić wyrażeniem regularnym wszystko co znajduje się:
- między początkiem tekstu a pierwszym wystąpieniem "{"
- między "}" a "{"
- między ostatnim wystąpieniem "}" a końcem tekstu:

  1. <?php
  2.  
  3. $tekst = 'aaa {bbbb} aaa {bbbb}{bbbb} aaaa';
  4.  
  5. $tekst = preg_replace( '/^[^{]+|(})[^{]+({)|[^}]+$/', '$1$2', $tekst );
  6. echo $tekst;
  7.  
  8. ?>




@DOWN
Zwróć uwagę na nawiasy okrągłe w wyrażeniu i na $1$2. Ewentualnie skopiuj sobie ten kod i przetestuj ;]

Ten post edytował Kicok 10.09.2007, 14:43:12
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: 3.10.2025 - 20:56