Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrażenia wyciąganie z kodu php zawartości nawiasów
Forum PHP.pl > Forum > PHP
deirathe
Mam taki plik php:
  1. <div style="bla">
  2. bla
  3.  
  4. <?php if($this->params['test'] > 3):?>
  5. o tak to jest większe od 3
  6.  
  7. <?php endif; ?>
  8.  
  9.  
  10. <?php if($this->params['test'] == $this->params['test']):?>
  11. dupa
  12.  
  13. <?php endif; ?>
  14. </div>
  15.  


Jak za pomocą wyrażeń regularnych mogę wyciągnąć tylko to co jest w kodzie w php w nawiasach okrągłych?
próbowałem cudów już ostatecznie wyrzeźbiłem coś takiego:
Kod
#\\<\\?php(.*?\\((.*?)\\).*?)*?\\?\\>#is

ale niestety dostaję tylko ostatni znaleziony nawias a nie wszystkie:/, może mnie ktoś nakierować? Pomocyyy....
zegarek84
najpierw wyciągnij przy pomocy wyrażeń regularnych i preg_match_all wszystkie kody php po czym tablicę wyniku przleć w pętli i dla każdego wyniku zastosuj znowu preg_match_all ale z wyrażeniem regularnym na zawartość nawiasu (tu dostaniesz tablicę jako wynik dla pojedynczego przebiegu pętli - pasuje to do jakiejś zmiennej zapisywać - do tablicy poza pętlą i będziesz miał wszystkie wyniki) - można by to jeszcze szybciej choć nietypowo bo nie do tego służy funkcja w sumie wykożystać preg_replace_callback i w funkcji calback zwracać wyniki nawiasów (a samym replace przelecieć pliczek w poszukiwaniu kodu php)
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.