Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 4.091 pregleda

Najnovija ↓

PHP: Jedan regularni izraz [SOLVED] 30.03.2005. u 12:45 · pre 262 meseca
izmenjeno 1 put, poslednji put random 08.06.2005. u 16:37
  1. random08.06.2005. u 16:37zapis iz teksta poruke
#1
Imam kod u php-u koji parsira HTML stranu, izvlaci title, keywords, itd...

Posto sam ja to radio(prepravljao neke gotove regexp), a nepoznajem regexp dovoljno. prilicno lose izgleda.

Ako bi neko mogao da mi pomogne oko jednog regexp ostale bih mogao sam da sredim.

Evo naprimer ovo je kod za izvlacenje titla ti html-a:

Code:

    function getTitle($source){
        preg_match_all("/(?i)title[ ]{0,}>(.){0,}<[ ]{0,}\/[ ]{0,}(i?)title/",$source,$regs);
        $str_title = substr(strstr($regs[0][0],">"),1);
        $str_title = strrev ($str_title);
        $str_title = substr(strstr($str_title,"<"),1);
        $str_title = strrev ($str_title);
        return $str_title;
    }


Pretpostavljam da moze da se resi samo sa jednim redom regexp bez substr...

Hvala.
Potpis
Flash komponenta za atraktivan prikaz vesti na sajtu:
www.flash-news-ticker.com
Re: Jedan regularni izraz 31.03.2005. u 01:37 · pre 262 meseca #2
Code:
preg_match("/<title>(.*)<\/title/", $html_strana, $title);
echo $title[0];
Re: Jedan regularni izraz 01.04.2005. u 19:27 · pre 262 meseca #3
Mozda nisam lepo napisao sta mi ustvari treba.

Ne treba mi prostiji regexp, samo sta gornjem da dodam da mi se u rezultatu ne pojavljuje title> i </title koje kasnije uklanjam sa dodatnim kodom.
Potpis
Flash komponenta za atraktivan prikaz vesti na sajtu:
www.flash-news-ticker.com
Re: Jedan regularni izraz 01.04.2005. u 21:13 · pre 262 meseca #4
Sad te stvarno ne razumem...
Ako hoces da izvuces "title" onda koristis to sto sam ti napisao jer je jednostavnije i brze i dobijes samo "title" bez tagova ili, naravno, pravis svoj kod. :)

mala ispravka:
Code:
preg_match("/<title>(.*)<\/title>/i", $html_strana, $title);
echo $title[1];
Re: Jedan regularni izraz 01.04.2005. u 21:31 · pre 262 meseca #5
odlicno to je to, prethodni je vracao i <title> tag ovaj sad radi ok.

dodao sam neke tagove iz gornje(za svaki slucaj ukoliko neko nije lepo pisao kod)
i dobio:
Code:
preg_match("/(?i)title[ ]{0,}>(.*)<[ ]{0,}\/[ ]{0,}(i?)title>/i", $source, $title);
Potpis
Flash komponenta za atraktivan prikaz vesti na sajtu:
www.flash-news-ticker.com
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme