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%)
-----


Proszę bardzo:
Kod
#<!-- (\S*).*{\1\..+}.*\1 -->#si


  1. $s = 'asdfdsadasasd dasdasdads
  2. <!-- costam bla bla bla
  3. bla {costam.a}bla bla bla bla
  4. bla bla costam --> adssdadasdasasdasdasdasd';
  5.  
  6. echo preg_replace('#<!-- (\S*).*{\1\..+}.*\1 -->#si', '', $s);


Ten post edytował Kofel 26.01.2013, 16:11:20
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: 27.12.2025 - 19:00