Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pomoc w wyrażeniach regularnych
Forum PHP.pl > Forum > Przedszkole
efect1
Dlaczego nie wyświetla mi się zawartość tego skryptu dałem przecież echo
skrypt
  1. <?php
  2. $s= 'marco jest programista. marco specjalizuje się w programowaniu .';
  3.  
  4. if (ereg ('^([[:alpha:]]+) jest programista' , $s , $matches)) {
  5. if (ereg (([[:alpha:]]+) specjalizuje się w programowaniu .  ,$s , $matches2)) {
  6. if($matches[1]===$matches2[1]) {
  7. echo &#092;"pasuje!\" ;
  8. }else {
  9. echo &#092;"nie pasuje !\" ;
  10. }
  11. } }
  12. else {
  13. echo &#092;"Łańcuch nie pasuje!\";
  14. }
  15.  
  16.  
  17. ?>

pozdrawiam
P.S
Chciałbym zadać jeszcze jedno małe pytanko dotyczące nie za bardzo tego wątku co oznacza polecenie
preg offset capture
pyro
1. niechlujnie napisane + forum zamienia znaki
2.
  1. <?php
  2. if (ereg (([[:alpha:]]+) specjalizuje się w programowaniu .  ,$s , $matches2))
  3. ?>


"specjalizuje sie w programowaniu" to jest string, czemu nie jest wzięte w cudzyslowy? bez nich napewno nie bedzie działać, zresztą to powinno wynikać z błędów parsera, jeśli ich nie widzisz, daj na początku pliku:

  1. <?php
  2. ini_set('display_errors', 1) or die('Nie można zapisać wartości do php.ini, wartosc 'display_errors': '.ini_get('display_errors'));
  3. ?>
efect1
wiem , że dla Ciebie to banalne ale ja dopiero poznaję php
dodaję to na początku i nadal biała strona jak przedtem
  1. <?php
  2. ini_set('display_errors', 1) or die('Nie można zapisać wartości do php.ini, wartosc 'display_errors': '.ini_get('display_errors'));
  3. ?>
pyro
Cytat(efect1 @ 19.08.2008, 22:39:26 ) *
wiem , że dla Ciebie to banalne ale ja dopiero poznaję php


Przecież ja nic nie komentuję.

a sprobuj dodac na poczatku pliku cos takiego:

  1. <?php
  2. $a = ini_get('display_errors') ? ini_get('display_errors') : 'Nie mozna pobrac wartosci display_errors';
  3. print $a;
  4. ?>
efect1
teraz wyświetla mi się cyfra 1 zamiast iałego ekranu a tak chyba nie powiino być sad.gif
pyro
powinno, czyli dyrektywa display_errors jest włączona, teraz daj na początku samo:

  1. <?php
  2. ?>


i próbuj ze swoim powyższym skryptem
efect1
teraz biała strona sad.gif
kurczę może ja coś pokręciłem ale cały skrypt wygląda tak
  1. <?php
  2. ?>
  3. <?php
  4.  $s= 'marco jest programista. marco specjalizuje się w programowaniu .';
  5.  
  6. if (ereg ('^([[:alpha:]]+) jest programista' , $s , $matches)) {
  7. if (ereg ('([[:alpha:]]+) specjalizuje się w programowaniu . $' ,$s , $matches2)) {
  8. if($matches[1] ===$matches2[1]) {
  9. echo "pasuje!" ;
  10. }else {
  11. echo "nie pasuje !" ;
  12. }
  13. } }
  14. else {
  15. echo "Łańcuch nie pasuje!";
  16. }
  17.  
  18.  
  19. ?>
Kicok
Kod jest w porządku. Podpowiem tylko, że jedno wyrażenie nie jest dopasowane.

A dlaczego wyświetla się biała strona? Rób wcięcia w kodzie to będziesz wiedział.
pyro
  1. <?php
  2.  
  3. // tak pasuje, a dlaczego ci sie wyswietlała biała strona -> czytaj post wyzej
  4.  
  5.  $s= 'marco jest programista. marco specjalizuje się w programowaniu .';
  6.  
  7. if (ereg ('^([[:alpha:]]+) jest programista' , $s , $matches)) {
  8. if (ereg ('([[:alpha:]]+) specjalizuje się w programowaniu .$' ,$s , $matches2)) {
  9. if($matches[1] ===$matches2[1]) {
  10. echo "pasuje!" ;
  11. }else {
  12. echo "nie pasuje !" ;
  13. }
  14. } }
  15. else {
  16. echo "Łańcuch nie pasuje!";
  17. }
  18.  
  19.  
  20. ?>
tomm
zobacz to
CODE
error_reporting(E_ALL);

$s= 'marco jest programista. marco specjalizuje się w programowaniu .';

if (ereg ('^([[:alpha:]]+) jest programista' , $s , $matches)) {
if (ereg ('([[:alpha:]]+) specjalizuje się w programowaniu . $' ,$s , $matches2)) {
if($matches[1] ===$matches2[1]) { // ten warunek nie jest spełniony a Ty nic nie zrobiłeś aby to wyrzuciło ne ekran
echo "pasuje!" ;
}else {
echo "nie pasuje !" ;
}
}
else echo 'Nie są identyczne';

}
else {
echo "Łańcuch nie pasuje!";
}
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.