Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyciągnięcie ciągu znaków z tekstu
Forum PHP.pl > Forum > Przedszkole
renault12
Witam

Mógłby ktoś poświecić kilka sekund żeby przedstawić mi kod który bedzie wyciągał ciąg znaków z tekstu?

Czytałem rózne manale na strpos itd. ale nie wiem jak ustawic parametry zeby dobrze wycial ^^.

  1. http://www.rapidszar.com/jurek/nanan.rar


I jak zrobic by zapisal do zmiennej 'jurek' ?
jaslanin
Zależy jaki Ciąg tekstu, nie ma uniwersalnego sposobu, ale najbardziej uniwersalny jest oparty na wyrażeniach regularnych.

Aby wyciągnąć jurek:

  1. <?php
  2.  
  3. $var = "http://www.rapidszar.com/jurek/nanan.rar";
  4.  
  5. preg_match("#.*/(.*)/.*#", $var, $matches);
  6.  
  7. echo $matches[1];
  8.  
  9. ?>


Różne funkcje do operowania na stringach: http://php.net/manual/pl/book.strings.php
Wyrażenia regularne: http://www.egrafik.pl/kurs-regex-wyrazenia-regularne/
Wyrażenia regularne: przykłądy: http://maciek.lasyk.info/regexp_checker.html
zordon
jakby url miał zawsze taką lub zbliżoną strukturę możesz spróbować użyć explode()
renault12
No własnie nie bedzie mial takiej samej struktury.

A jak zrobic naprzyklad jesli mam w zmiennej wyraz a ciag z ktorego chce to wyciagnac to naprzyklad :

Dajmy na to ze w zmiennej z wyrazem jest aktualnie wyraz test

  1. http://www.blablabla.com/blablabla/test/dsfdsfsdf.exe


Dałoby sie jakos sprytnie go wyciagnac tongue.gif?
Dokladniej mowiac mam zamiar zrobic taki skrypcik zeby filtrowal adres url i z niego wyciagal ciag znakow ktory jest w zapisany w zmiennej.
jaslanin
mój poprzedni skrypt działa też i w tym nowym przypadku tongue.gif
renault12
Ale jesli juz bedzie zamiast tego

  1. http://www.blablabla.com/blablabla/test/dsfdsfsdf.exe


to:

  1. http://www.blablabla.com/blablabla/test/fdsdfsdfsd/dsfdsfsdf.exe



to nie pocisnie ^^
jaslanin
jak i milion innych przypadków w których nie zadziała. I co z tego ? Podaj pełną listę dla których ma działać.
renault12
jakbym mial podawac wyraz ktory wlasnie chce wyciagnac to troche by bylo tego duzo.

Wpadlem na pomysl jakby przy zmiennej z tym wyrazem ktorego chce wyciagnac wstawiac na poczatku @ co by wygladalo naprzyklad tak:

  1. http://www.forum.php.pl/test/@wyraz/test.rar


Daloby sie cos wskórac?
Fifi209
Nie prościej użyć: parse_url ?
jaslanin
Teraz już zupełnie nie rozumiem, a w jaki sposób Ty wstawiasz tą @ ? Tzn jak znajdujesz miejsce do w którym trzeba ją wstawić ?

można by to wykorzystać tak:

  1. <?php
  2.  
  3. $var = "http://www.forum.php.pl/test/@wyraz/test.rar";
  4.  
  5. preg_match("#@([^/]+)#", $var, $matches);
  6.  
  7. echo $matches[1];
  8.  
  9. ?>
renault12
no i gitara wujku
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.