Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]wyrażenia regularne
Forum PHP.pl > Forum > Przedszkole
luniak
Mam problem którego nie mogę pokonać smile.gif próbowałem rozwiązać go za pomocą wyrażeń regularnych ale za chiny nie potrafię napisać właściwego wyrażenia smile.gif

Problem jest następujący:

mam zmienną zawierającą dużą ilość informacji smile.gif

np:



chodzi mi o to żeby zamienić w zmiennej $zmienna adresy z formy:

http://www.adres.com/obejzyj/co=ask1234savs

na link

<a href="http://www.adres.com/obejzyj/co=ask1234savs">Film</a>

i tu mam problem bo nie potrafię napisać wyrażenia które pasowało by do linków smile.gif oczywiście wiadomo że część
http://www.adres.com/obejzyj/co=
jest zawsze stała, zmienia się tylko końcówka
Wicepsik
Kod
<?php
$zmienna = 'Polecam film http://www.adres.com/obejzyj/co=ask1234savs oraz http://www.adres.com/obejzyj/co=sfajj391b';
?>
Kod
Array
(
    [0] => Array
        (
            [0] => http://www.adres.com/obejzyj/co=ask1234savs
            [1] => http://www.adres.com/obejzyj/co=sfajj391b
        )




  1. <?php
  2. preg_match_all('/http://www.adres.com/obejzyj/co=([0-9a-zA-Z]+)/', $zmienna, $wyniki);
  3.     foreach($wyniki[0] as $k)
  4.     {
  5.         echo '<a href="'.$k.'">'.$k.'</a>';    
  6.     }
  7. ?>
hondek
  1. <?php
  2. // zamiana linków
  3.    $paterns = array(
  4.        "/https://([-~,;&%+_0-9a-zA-Z./?=#]+)/",                      // https
  5.        "/http://([-~,;&%+_0-9a-zA-Z./?=#]+)/",                      // http
  6.        "/[-_.0-9a-zA-Z]+@([-_0-9a-zA-Z]+.)+[a-zA-Z]+/",              // email
  7.        "/(^|[^/])((www|ftp).([-_0-9a-zA-Z]+.)+[a-zA-Z]+(/S+)?)/",// www, ftp
  8.    );
  9.    $replace = array(
  10.        "<a target=_blank href=\"\"></a>",
  11.        "<a target=_blank href=\"\"></a>",
  12.        "<a href=\"mailto:\"></a>",
  13.        "1<a target=_blank href=\"http://2\">2</a>",
  14.    );
  15.    $item = preg_replace( $paterns, $replace, $item );
  16. ?>
luniak
Dla obu panów ++ mi osobiści odpowiada (po drobnej przeróbce tongue.gif ) wersja pierwsza ale obie mi się przydadzą smile.gif dzięki wielkie
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.