Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PHP: Jedan regularni izraz [SOLVED]

[es] :: Skript jezici :: PHP: Jedan regularni izraz [SOLVED]

[ Pregleda: 1538 | Odgovora: 4 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

arsa xx
Srdjan Arsic
Beograd

Član broj: 14203
Poruke: 452
*.beotel.net.

ICQ: 247217004
Sajt: webdizajn.arsic.biz


Profil

icon PHP: Jedan regularni izraz [SOLVED]30.03.2005. u 11:45

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.

[Ovu poruku je menjao random dana 08.06.2005. u 16:37 GMT+1]
Flash komponenta za atraktivan prikaz vesti na sajtu:
www.flash-news-ticker.com
30.03.2005. u 11:45 

bOkIcA
Bojan Abramovic
Novi Sad

Član broj: 1808
Poruke: 520
*.metrohive.net.

Sajt: www.bokica.com


Profil

icon Re: Jedan regularni izraz31.03.2005. u 00:37
Code:
preg_match("/<title>(.*)<\/title/", $html_strana, $title);
echo $title[0];
31.03.2005. u 00:37 

arsa xx
Srdjan Arsic
Beograd

Član broj: 14203
Poruke: 452
195.252.87.*

ICQ: 247217004
Sajt: webdizajn.arsic.biz


Profil

icon Re: Jedan regularni izraz01.04.2005. u 18:27
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.
Flash komponenta za atraktivan prikaz vesti na sajtu:
www.flash-news-ticker.com
01.04.2005. u 18:27 

bOkIcA
Bojan Abramovic
Novi Sad

Član broj: 1808
Poruke: 520
*.metrohive.net.

Sajt: www.bokica.com


Profil

icon Re: Jedan regularni izraz01.04.2005. u 20:13
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];
01.04.2005. u 20:13 

arsa xx
Srdjan Arsic
Beograd

Član broj: 14203
Poruke: 452
195.252.85.*

ICQ: 247217004
Sajt: webdizajn.arsic.biz


Profil

icon Re: Jedan regularni izraz01.04.2005. u 20:31
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);

Flash komponenta za atraktivan prikaz vesti na sajtu:
www.flash-news-ticker.com
01.04.2005. u 20:31 

[es] :: Skript jezici :: PHP: Jedan regularni izraz [SOLVED]

[ Pregleda: 1538 | Odgovora: 4 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.