Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrażenie regularne
Forum PHP.pl > Forum > PHP
ensei
Hej, wiecie może czemu to nie śmiga?
  1. $Fileww = 'Call to undefined function ha()...line: 2 in /home/xxx/domains/xxx.a/public_html/index.php';
  2. $String = 'Call to undefined function ha()...line: 2 in /home/xxx/domains/xxx.a/public_html/index.php';
  3.  
  4. if(preg_match("#$String#im", $Fileww))
  5. echo 'found';
nospor
Szukasz tekstu który nie istnieje to nie działa. Dość logiczne

Poza tym czemu używasz preg_match skoro nie używasz w ogóle wyrażenia?
ensei
Jak to nie istnieje? Dwa ciągi są takie same.

Bo to jest tylko część zmiennej $Fileww, dlatego preg_match.
nospor
Gdy pisałem poprzedniego posta to ciągi były różne. Nie rób proszę ze mnie idioty i nie edytuj posta.... zdecyduj się jak te ciągi wyglądają to wtedy pogadamy.
ensei
Nie wiem kto za kogo ma za idiotę, uważając że to nie była literówka przy cenzurowaniu ciągu na potrzeby tego posta.

Więc panu już podziękuję, może ktoś mniej cyniczny i chamski się udzieli smile.gif?
redeemer
W zmiennej $String masz znaki, które w wyrażeniu mają inne, konkretne znaczenie.
  1. ...
  2. $String = 'Call to undefined function ha\(\).\.\.line: 2 in /home/xxx/domains/xxx\.a/public_html/index\.php';
  3. ...
Takie coś powinno zadziałać.
nospor
Słuchaj ensei, oba ciągi różniły się przynajmniej jednym wyrazem, a nie jakąś literówką. Różnica była ewidentna i wyraźna.
Widać również, że edytowałeś posta więc nie strugaj teraz niewiniątka. Daruj sobie również wyzywanie od chamów.

Jeśli zaś różnica faktycznie wynikła z nieudolnego cenzurowania na potrzeby posta, to trzeba było o tym od razu napisać po moim pierwszym poście a nie udawać, że ciągi się nie róznią/nie różniły.

Wracając do problemu:
nadal nie rozumiem czemu mieszasz do tego wyrażenia regularne. To tak jakbyś do muchy strzelał z armaty. Wyrażenia służą do wyszukiwania skomplikowanych wyrażen a nie tekstu w tekscie. Do tego służy
http://pl1.php.net/manual/pl/function.strstr.php
semafor1985
jeżeli już musisz preg_match to tak zadziała:

  1.  
  2. $Fileww = 'Call to undefined function ha()...line: 2 in /home/xxx/domains/xxx.a/public_html/index.php';
  3. $String = '/[Call to undefined function ha()...line: 2 in \/home\/xxx\/domains\/xxx.a\/public_html\/index.php]+/im';
  4.  
  5. if(preg_match($String, $Fileww))
  6. echo 'found';
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.