Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrażenia regularne - odnalezienie fragmentu i usunięcie
Michael2318
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

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


Potrzebuję najpierw sprawdzić czy przykładowo zmienna $a (to jest string) zawiera w sobie coś takiego:
{costam.hehe}, gdzie największą wartość ma to co podkreśliłem, czyli costam. Dlaczego? Dlatego, że takie fragmenty:
{costam}, mają zostać nieruszone, z kolei takie jak już wyżej podałem:
{costam.hehe}
mają zniknąć w całości, ALE - wyrażenie regularne musi mi zwrócić to co podkreśliłem, a następnie skasować taki ciąg znaków:

Kod
<!-- costam -->
bla bla bla bla {costam.hehe} bla bla bla bla bla bla
<!-- costam -->


Podsumowując, skrypt musi znaleźć czy w zmiennej występuje taki wzorzec: {X.Y}, jeśli istnieje to pobiera mi wartość X i usuwa to:

Kod
<!-- X [obojetnie jaki tekst, do momentu] X -->


Ktoś byłby w stanie mi pomóc? Regularki to raczej nie jest moja mocna strona ;/

Ten post edytował Michael2318 26.01.2013, 15:36:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kofel
post
Post #2





Grupa: Zarejestrowani
Postów: 99
Pomógł: 22
Dołączył: 14.12.2007
Skąd: Wyszków

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


Chłopie, zdecyduj się. Przecież od pierwszej odpowiedzi podałem Ci poprawne rozwiązanie. Teraz w dodatku zmieniłeś założenie. (IMG:style_emoticons/default/biggrin.gif)

  1. <?php
  2.  
  3. $text = 'lalala
  4. <!-- BEGIN costam -->
  5. {costam.mojemoje}
  6. <!-- END costam -->
  7. bebebe';
  8.  
  9. $text = preg_replace('#<!-- BEGIN (\S*).*{\1\..+}.*END \1 -->#si', '', $text);
  10.  
  11. echo $text;
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: 28.12.2025 - 02:44