Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyrażenie regularne - jak wyciągąć
Forum PHP.pl > Forum > PHP
radmistrz2
Witam. Męczę się nad wyciągnięciem 3 wartości z ciągu przy jak najmniejszym obciążeniu procesora. Z powodzeniem wychodzi na str...() ale to niestety obciąża serwer. Ponoć można to zrobić na preg_match ale nie zabardzo czaje wyrażenia regularne. Oto wyrażenie z którego chcę wyciągnąć 3 wartości:

  1. <?php
  2. pokaz/114006---dbd4.html" class="tytul-mp3">Cliver vs. Mallancia - Pokaz jak sie krecisz.mp3</a></li>
  3.    <li class="rozmiar-mp3">Rozmiar pliku:  3.32 MB
  4. ?>


chcę wyciągnąć 114006---dbd4, Cliver vs. Mallancia - Pokaz jak sie krecisz oraz 3.32 MB


Próbowałem sam napisać ciąg obsługujący to wyrażenie ale cały czas mi nie wychodzi. Mogę o jakieś wskazówki prosić?

preg_match("@.*pokaz/\"(.*)"class=\"tytul-mp3\"(.*).mp3(.*)Rozmiar pliku: (.*)@", $tablica[1], $matches);
Orkan
  1. <?php
  2. preg_match('#^pokaz/([^\"]+)\".*>(.+).mp3.*s([0-9.]+) MB$#si', $str, $matches);
  3. ?>


matches:
[0] => pokaz/114006---dbd4.html" class="tytul-mp3">Cliver vs. Mallancia - Pokaz jak sie krecisz.mp3</a></li>
<li class="rozmiar-mp3">Rozmiar pliku: 3.32 MB
[1] => 114006---dbd4.html
[2] => Cliver vs. Mallancia - Pokaz jak sie krecisz
[3] => 3.32

EDIT: czemu backslashe znikaja przed \s i \r przy edycji posta ? blinksmiley.gif
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.