Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dowolny ciąg znaków w php
Forum PHP.pl > Forum > Przedszkole
paluch979
Witam. Mam taki kod:
  1. <?php
  2. if(empty($_GET['filename'])){
  3. include('index.php');
  4. }
  5. elseif($_GET['filename'] == '*.txt'){
  6. $include = 'upload';
  7. $include .= $_GET['filename'];
  8. include($include);
  9. }
  10. elseif($_GET['filename'] == '*.jpg'){
  11. echo "<img src=\"upload/". $_GET['filename'] ."\" />";
  12. }
  13. elseif($_GET['filename'] == '*.gif'){
  14. echo "<img src=\"upload/". $_GET['filename'] ."\" />";
  15. }
  16. elseif($_GET['filename'] == '*.png'){
  17. echo "<img src=\"upload/". $_GET['filename'] ."\" />";
  18. }
  19. ?>

który czyta GET filename i sprawdza końcówkę. Tylko, że nie wiem jak zrobić dowolny ciąg znaków. * jak widać nie działa.
Z góry dzięki.Pzdr. paluch
nospor
w tym konkretnym przypadku zainsteresuj sie funkcją substr().

A na przyszlosc to moze wyrazenia regularne ci sie przydadzą
paluch979
A mógłbyś pokazać jak użyć tej funkcji? Bo nigdy nie używałem jej i co czytam w manualu tego to wciąż nie rozumiem.
zientek18
  1. <?php
  2. $tekst = "tutaj przykladowy tekst ktory wyswietli sie w ilosci 20 znakow od znaku 0 czyli pierwszego znaku ciagow";
  3. substr($tekst, 0, 20);
  4. ?>


Korzystając z okazji jakiej funkcji użyć, aby skrócić ciąg znaków tak, aby nieucinał wyrazów, tylko ucinał w miejscu gdzie jest spacja ?
paluch979
Czy wy rozumiecie o co mi chodzi? Dowolny ciąg znaków. Czyli jak napisze np. filename=test.png to wyświetli instrukcje dla ostatniego elseif albo filename=test2.png to też wyświetli ostatni elseif!
wookieb
Cytat(paluch979 @ 11.06.2009, 18:33:04 ) *
Czy wy rozumiecie o co mi chodzi?

A czy ty rozumeisz co sie do ciebie pisze? BA
Nawet po przeczytaniu manuala co do funkcji substr (która jest naprawdę świetnie opisana) nie potrafisz jej zastosować, więc o "rozumienie" skakać nie możesz.

W dodatku nie zastosowałeś się do porady NOSPORA o wyrażeniach regularnych.

  1. <?php
  2. preg_match('/.gif$/i', $ciag_do_sprawdzenia);
  3. ?>
paluch979
Wookieb, zadziałał twój kod winksmiley.jpg. Tak nawiasem, jak zastosować wyrażenia regularne (tzn. jak je wyświetlić)?
erix
preg_match" title="Zobacz w manualu PHP" target="_manual -> trzeci parametr
jerry89
Sorry ze podłączam sie pod temat, ale jak wstawić w miejce WZORCA w wyrazeniu regulranym zwyklą zmienna tekstową? Wstawiam w normalny sposob i wcale nie chce działac..
Wicepsik
Cytat(jerry89 @ 25.06.2009, 17:44:51 ) *
Sorry ze podłączam sie pod temat, ale jak wstawić w miejce WZORCA w wyrazeniu regulranym zwyklą zmienna tekstową? Wstawiam w normalny sposob i wcale nie chce działac..

Może pokaż jak to robisz?
erix
Cytat
Wstawiam w normalny sposob i wcale nie chce działac..

preg_quote" title="Zobacz w manualu PHP" target="_manual
jerry89
Mój kod to:
Cytat
preg_match_all("#<td>[^>]* $tekst\, [^<]*</td>#is", $szukaj, $matches);


Zas wyciągam go z:

Cytat
<tr><th scope="row" valign="top"><tt>I</tt></th><td>inne_slowa, inne_slowa, to_slowo, inne_slowa</td></tr>
Wicepsik
  1. <?php
  2. $file = '<tr><th scope="row" valign="top"><tt>I</tt></th><td>inne_slowa, inne_slowa, to_slowo, inne_slowa</td></tr>';
  3. preg_match_all('/<td>(.*)</td>/', $file, $time);
  4. echo '<pre>';
  5. print_r($time);
  6. ?>
jerry89
Cytat(Wicepsik @ 25.06.2009, 23:59:49 ) *
  1. <?php
  2. $file = 'Iinne_slowa, inne_slowa, to_slowo, inne_slowa';
  3. preg_match_all('/(.*)</td>/', $file, $time);
  4. echo '';
  5. print_r($time);
  6. ?>


Nic nie wnosisz do tematu. Chodzilo jeszcze o wklepanie zmiennej $toslowo we wzór.
Poradziłem juz sobie z tym. Dzięki.
Wicepsik
Cytat(jerry89 @ 26.06.2009, 13:59:40 ) *
Nic nie wnosisz do tematu. Chodzilo jeszcze o wklepanie zmiennej $toslowo we wzór.
Poradziłem juz sobie z tym. Dzięki.

A skąd miałem wiedzieć co jest w zmiennej $tekst ? Jak podajesz coś na forum to wszystkie informacje...
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.