Avatar billede ostekage Nybegynder
15. oktober 2001 - 13:55 Der er 5 kommentarer og
1 løsning

find titel på html document

jeg har brug for en function der kan hente
det der står mellem \'<title>\' og \'</title>\'
Avatar billede jumper Nybegynder
15. oktober 2001 - 13:57 #1
Tja, selve regexp\'et er jo nemt nok

<title>(.+)<\\/title>

men hvilket sprog (læs: hvilken regexp fortolker) skal du bruge det i ? ASP, PHP, JS eller ... ?

/Thor
Avatar billede ostekage Nybegynder
15. oktober 2001 - 13:58 #2
oups, glemte noget..
intil videre har jeg brugt:

if (eregi (\"<title>(.*)</title>\", $tmp, $out))
{
          $title = $out[1];
          break;
}

men den er temmelig usikker, dvs.
at den virker ikke efter hensigten når der f.eks.
er 2 sät <title></title> tags, og det går tilsyneladende osse galt hvis der er punktummer i titlen..
Avatar billede ostekage Nybegynder
15. oktober 2001 - 14:00 #3
det er til php,
2 sec. jeg pröver lige dit forslag
Avatar billede jumper Nybegynder
15. oktober 2001 - 14:03 #4
Tja, nu kender jeg ikke PHPs regexp fortolker, men dit regexp er sikkert greedy, hvilket vil sige at det matcher fra den første <title> til den sidste </title>.

JS-regexp har en ? modifier der laver det foregående match non-greedy, hvormed det ville se sådan ud:

<title>(.+?)<\\/title>

PHP-regexp har sikkert noget tilsvarende, og ellers kan du lave dit eget non-greedy match, som:

<title>([\\s\\S]+)<\\/title>

/Thor
Avatar billede ostekage Nybegynder
06. november 2001 - 23:00 #5
hmm, har fundet en anden løsning..
Avatar billede jumper Nybegynder
07. november 2001 - 13:04 #6
Noget vi må se ? :)

/Thor (der stadig ikke har rodet så meget med PHP regexp)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester