Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyrażenia regularne?
Forum PHP.pl > Forum > PHP
pitrro131
Witam, posiadam funkcje w PHP która ma za zadanie pobrać ciąg znaków (pogrubiony) ze strony (oczywiście tego pogrubienia nie bierzemy pod uwagę interesują nas tylko znaki Laaaaa).

Fragment kodu html:
Cytat
<div class="box_top_small">Laaaaaaaa</div>
<div class="box_text_small"><span class="style">Laaaa</span>


Funkcja:

Cytat
<?php

public function pokaz() {
$page3 = preg_match('@aaaa</div><div class="box_text_small"><span class="style">([[A-Za-z]+)</span>@', $page['page'], $page3);


$this->verbose($page3);




}

?>


No i właśnie problem w tym że wyświetla 0 a nie Laaaa:)
z3L
Cytat
preg_match() returns the number of times pattern matches. That will be either 0 times (no match) or 1 time because preg_match() will stop searching after the first match. preg_match_all() on the contrary will continue until it reaches the end of subject . preg_match() returns FALSE if an error occurred.


Wyniki, które potrzebujesz zapisywane są w 3 zmiennej w kolejności, czyli powinieneś zrobić coś takiego:

  1. <?php
  2. preg_match('@aaaa</div><div class="box_text_small"><span class="style">([[A-Za-z]+)</span>@', $page['page'], $page3);
  3. var_dump($page3);
  4. ?>


Sprawdź co wyrzuci, jeżeli null, to błąd jest w wyrażeniu regularnym, którego osobiście nie sprawdziłem. Zakładam, że jest poprawne. Jeżeli chcesz wyświetlić więcej wyników, to użyj preg_match_all.
pitrro131
Cytat(z3L @ 31.07.2009, 22:54:28 ) *
Wyniki, które potrzebujesz zapisywane są w 3 zmiennej w kolejności, czyli powinieneś zrobić coś takiego:

  1. <?php
  2. preg_match('@aaaa</div><div class="box_text_small"><span class="style">([[A-Za-z]+)</span>@', $page['page'], $page3);
  3. var_dump($page3);
  4. ?>


Sprawdź co wyrzuci, jeżeli null, to błąd jest w wyrażeniu regularnym, którego osobiście nie sprawdziłem. Zakładam, że jest poprawne. Jeżeli chcesz wyświetlić więcej wyników, to użyj preg_match_all.


Strasznie mi coś wali cały skrypt z którego są wywoływane funkcje.

Pokazało mi:

Cytat
[31.07.2009 - 23:16] pruski: Aktualne:

int(0) [31.07.2009 - 23:16] pruski: Lista:


A jak już to powinno pokazać:

Cytat
[31.07.2009 - 23:16] pruski: Aktualne:

[31.07.2009 - 23:16] pruski: int(0)

[31.07.2009 - 23:16] pruski: Lista:
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.