Avatar billede zach Nybegynder
24. december 2000 - 17:16 Der er 13 kommentarer og
1 løsning

Tekst udtræk

Hej

Jeg prøver at lave en række udtræk fra en HTML-fil og har lidt svært ved at få det til at fungere.

Nedenstående kode står eksempelvis mange gange på HTML siden og jeg er interesseret i selve teksten ikke linket. Er der en smart funktion, hvor man kan angive start positionen og slutpositionen og så udtækker den det ?

<A href=\"http://www.link.dk\" target=_blank>Tekst som skal udtrækkes</A>

Den kunne eks. se således ud:

Link$ = Udtræk(\"_blank\", \"</A>\");

Det blev så til:

Link$ = Tekst som skal udtrækkes

Er der en sådan funktion ?

Jeg takker på forhånd.
Avatar billede jd Nybegynder
25. december 2000 - 01:06 #1
Nej, sådan en funktion findes ikke!
... men man kunne vel selv skrive en :)
Avatar billede zach Nybegynder
25. december 2000 - 11:02 #2
Jeg kunne godt forestille mig at man kunne skrive den, men hvordan gør man det bedst ?
Avatar billede jd Nybegynder
25. december 2000 - 22:46 #3
...jeg kan sige så meget, som at du skal til at lære regular expressions :)
Avatar billede mrcorex Nybegynder
25. december 2000 - 22:48 #4
Jeg har lige brygget lidt sammen. Først tager jeg og checker for </a> og fjerner det fra strengen. Dernæst bruger jeg strrpos() til at finde den sidste \">\" i strengen. Funktionen kunne se ud som følgende:

function LinkExtract($URL) {
    $URL = substr($URL,0,strpos(strtolower($URL),\"</a>\"));
    return substr($URL,strrpos(strtolower($URL),\">\") + 1);
}

Jeg håber at dette hjælper!
Avatar billede mrcorex Nybegynder
25. december 2000 - 22:49 #5
Ups, jeg vil da gerne have disse point.
Avatar billede jd Nybegynder
25. december 2000 - 22:57 #6
\"Nedenstående kode står eksempelvis >>mange<< gange på HTML siden\" ?
Avatar billede mrcorex Nybegynder
25. december 2000 - 23:27 #7
jd, Hvis du læser 1. punkt kan du hurtigt se at han spørger efter en funktion til at hive noget ud fra et enkelt link. Den har han fået. Du har sagt han skal lære noget, jeg har givet ham en funktion. Det kan jo være at han er i tidsnød.

Hvis det er et spørgsmål om at han skal have en funktion som hiver mere end et link ud skal have en hel liste returneret i form af et array. Det loop ser det ud som om han selv har styr på.

zach, hvis min besvarelse ikke er rigtig, hjælper jeg dig gerne videre, men så må du være lidt mere specifik. Hvis det er en funktion som indlæser en komplet side og returnerer ALLE links med tilhørende tekster, så angiv det. :-)
Avatar billede jd Nybegynder
25. december 2000 - 23:33 #8
corex-> Jeg har i hvert fald forstået det som du nævner til sidst!(med en hel MHTL fil) Prøv du at læse det en gang til, og se om ikke du er enig.. :)
Avatar billede mrcorex Nybegynder
25. december 2000 - 23:44 #9
Nej, jeg er ikke enig. Men nu havner vi jo i mudderkastning og det er jo ikke meningen. Det gavner ikke zach. Hvis ikke min funktion hjælper, bøjer mig gerne. For mig lød det bare som forord at han snakkede om en HTML-fil og derefter nævnte han allerede funktionen. Han spørger jo direkte om en \"...smart funktion...\" og så angiver zach et link. Sååå derfor....

Jeg bøjer mig for juryen. Sorry.
Avatar billede jd Nybegynder
25. december 2000 - 23:52 #10
corex-> Enig, dette skal ikke være mudderkastning! Så lad dette være den sidste klat :)
Min kommentar til dig kl. 22:57 var ikke ment som kritik, for at vise noget, eller noget som helst! MEN det kunne jo være at vi 2 ved fælles hjælp kunne få tolket hans spm., og måske få lavet et korrekt svar, inden han selv ønsker at deltage i debatten igen!
Avatar billede mrcorex Nybegynder
26. december 2000 - 00:02 #11
Jeg tror egentlig, at zach har fået et fornuftigt grundlag fra os begge to, til at gå videre. Hvis ikke, bliver han nødt til at kommentere det. Hvis han ønsker det, kan vi jo godt tage den et skridt videre og skrive selve funktionen til ham som så returnerer alle tekster til ham i et array sammen med links. Men jeg tror at zach er nødt til at kommentere helt præcist hvad han forventer.

By the way - hvis det har noget med \"regular expressions (perl-syntax)\" at gøre, så står jeg af. Her halter jeg ganske meget.
Avatar billede jd Nybegynder
26. december 2000 - 00:18 #12
corex-> Reg. Exp. er heller ikke min stærke side, endnu!! Men lidt kan man vel.. :)
Avatar billede jd Nybegynder
26. december 2000 - 01:47 #13
Nu har jeg siddet og leget lidt::

<?
function find_link_tekst($start=\'>\',$slut=\'</a>\'){
$file = file(\"fil.html\");
for($i=0; count($file)-3 > $i; $i++){
ereg(\"$start(.+)$slut\",$file[$i],$arr);
if($arr[1])
echo $arr[1].\"<br>\\n\";
}
}

find_link_tekst();
?>

Ovenstående vil skrive en liste over links i den pågældende HTML-fil!

Kig på det, og vend tilbage hvis du har spørgsmål!

/Jon@z
Avatar billede jd Nybegynder
26. december 2000 - 21:24 #14
var det bare som det skulle være?
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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