Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dziwne zachowanie funkcji ereg_replace.
-Guest-
post
Post #1





Goście







Dlaczego poniższy kod działa tak jak działa?

plik z szablonem strony
Kod
to sie pokaze
{* asdgfhgf  hfgh h assdadasd *}
to sie nie pokaze
{* asdash gfh  fghgfh dadasd *}
i to tez sie pokaze


parser php5
  1. <?php
  2.  
  3. $szablon = ereg_replace('{\*(.+)\*}', '', $szablon);
  4. echo $szablon
  5.  
  6. ?>


Wynik?

Kod
to sie pokaze
i to tez sie pokaze


Dlaczego nie pokazuje mi sie tekst miedzy dwoma komentarzami? ("to sie nie pokaze")
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
matrach
post
Post #2





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 17.04.2006

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


Cytat(mariuszn3 @ 2006-05-08 14:39:43)
nie mniej po odjęciu ograniczników Twój regex zupełnie niczym się różni od tego, który gościowi sprawia problem.

1) Po odjęciu ograniczników sktypt działa, choć wyrażenie jest takie samo, ale działa inaczej. Zostawia '{' i '}' gdyż uznaje je za ograniczniki.
2) Od tego są ograniczniki żeby je dawać w preg'u, a nie je stamtąd usuwać. (Wiem że to mądrze sformułowałem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )
3) Jak gościu sie odwoływał do ereg_replace to ja nie mogę do preg_replace (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
4)Ten twój regex mi zwraca bład, choć możliwe że mam jakąś inną wersje biblioteki.(albo coś)
5)Gościu już dawno rozwiązał problem
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: 6.10.2025 - 14:16