/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Udtræk fra HTML-fil
Fra : Bug


Dato : 19-05-06 23:28

Jeg har nogle html-includefiler, hvorfra jeg gerne vil udtrække
overskriften som står i <h1>...</h1> (f.eks. for at putte teksten i
<title>...</title>. Jeg har fundet et program kaldet htmlsql
(http://www.jonasjohn.de/lab/htmlsql.htm), der kan klare det, men jeg
spekulerer på, om der ikke findes en meget enkelt funktion, der kan
klare opgaven på nogle få linjer?

mvh Birger

 
 
Sune Storgaard (20-05-2006)
Kommentar
Fra : Sune Storgaard


Dato : 20-05-06 18:40


"Bug" <bug@stofanet.com> skrev i en meddelelse
news:446e4669$0$7637$ba624c82@nntp02.dk.telia.net...
> Jeg har nogle html-includefiler, hvorfra jeg gerne vil udtrække
> overskriften som står i <h1>...</h1> (f.eks. for at putte teksten i
> <title>...</title>. Jeg har fundet et program kaldet htmlsql
> (http://www.jonasjohn.de/lab/htmlsql.htm), der kan klare det, men jeg
> spekulerer på, om der ikke findes en meget enkelt funktion, der kan klare
> opgaven på nogle få linjer?

Du kan bruge strpos og substr til at klippe kliste med.
http://dk.php.net/manual/en/function.substr.php

Om strpos lige kan bruges her ved jeg ikke, da der jo godt kan være flere h1
osv, hvor den kun returnerer fra den første. Men såfremt der kun er 1 af
<h1> og </h1> , så brug strpos til at lokalisere positionen af de 2 med,
træk dem fra hinanden så du får længden, og så brug
$overskrift= strpos ($helesiden,$forstepositionforh1,$afstandmellemde2);



Erik Ginnerskov (21-05-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 21-05-06 00:14

Bug wrote:
> Jeg har nogle html-includefiler, hvorfra jeg gerne vil udtrække
> overskriften som står i <h1>...</h1> (f.eks. for at putte teksten i
> <title>...</title>.

Jeg har lavet det på den måde, at jeg øverst på php-sider (før DTD)
indsætter denne kode:

<? $strTitle="Den ønskede titel";?>

Derefter kan jeg uden problemer genbruge den definerede titel i
<title></title>, <h1></h1>, breadcrumbs og hvor jeg ellers måtte have lyst,
med denne kode:

<? echo $strTitle; ?>

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk/



David Trasbo (22-05-2006)
Kommentar
Fra : David Trasbo


Dato : 22-05-06 13:06

Bug skrev:

> Jeg har nogle html-includefiler, hvorfra jeg gerne vil udtrække
> overskriften som står i <h1>...</h1> (f.eks. for at putte teksten i
> <title>...</title>. Jeg har fundet et program kaldet htmlsql
> (http://www.jonasjohn.de/lab/htmlsql.htm), der kan klare det, men jeg
> spekulerer på, om der ikke findes en meget enkelt funktion, der kan klare
> opgaven på nogle få linjer?

Efter min mening ser HTMLSQL ud til at være en god løsning. Det kan være, at
du kan drage nytte af funktionen senere.

--
David Trasbo.
Vær en god Usenet-bruger. http://usenet.dk/netikette.
Læs om Opera. http://my.opera.com/datra.



Kasper Johansen (23-05-2006)
Kommentar
Fra : Kasper Johansen


Dato : 23-05-06 10:11

Bug wrote:
> Jeg har nogle html-includefiler, hvorfra jeg gerne vil udtrække
> overskriften som står i <h1>...</h1> (f.eks. for at putte teksten i
> <title>...</title>. Jeg har fundet et program kaldet htmlsql

Hej Bug (og resten af gruppen).

Hvis du ønsker at hente noget bestemt indhold ud af en fil, men er i
tvivl om hvordan filen er opbygget, så er regulære udtryk det helt
rigtige for dig (efter min mening).

Her er et eksempel på, hvordan du nok skal gøre i lige præcis din situation:

<?
$html = file_get_contents("min_html_fil.html");

preg_match("/<h1>(.*)<\/h1>/U", $html, $match);

print_r($match);
?>


Se også manualen for preg_match() her:
http://php.net/preg_match

Hvis du ønsker at lære mere om syntaksen, så kan du (f.eks.) læse mere
på Webcafe her:
http://www.webcafe.dk/artikler/perl/regulaereudtryk/


Regulære udtryk kan bruges til meget mere end bare det eksempel her. Du
kan f.eks. også validere email-adresser rigtig nemt med det. Eller du
kan hente oplysninger fra andre hjemmesider utroligt let.


--
Med venlig hilsen
Kasper Johansen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste