| |
|
|
- Seite 1 - |
|
Frank Abbing | Ein kleines Utility, um Links aus HTML-Codes zu extrahieren. |
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
| Hm, ich glaube (und hoffe) solch Quelltext wird hier nicht produziert - wenn alles korrekt arbeitet. Wo erzeuge ich sowas? (Könnte mir vorstellen das die letzten Themen im Index sowas u.U. erzeugen.) |
|
|
| |
|
|
|
Frank Abbing | Hab das im Quelltext dieser Seite gefunde, iF. |
|
|
| |
|
|
|
| Wo denn nur... würds gern beheben... |
|
|
| |
|
|
|
Frank Abbing | Hab eine neue Version hochgeladen, nachdem ich einen blöden Fehler im Code gefunden habe und die Abstürze bei leerem Editfeld behoben habe. Bitte wieder testen.
@iF: Kann dir die Stelle nicht genau sagen, vielleicht wars auch auf einer anderen Seite. Meine aber, es war genau hier im Thread. |
|
|
| |
|
|
|
| Die Schreibweise ist dann im Quelltext, wenn der Link nicht als Link dargestellt werden soll, sondern der Quelltext des Links selbst.
z.B. Hier: <a href="meineSeite">salve</a>
Könnte man sagen "eher zu Anschauungszwecken" - also würde ich diese im html2link-Fall übergehen. |
|
|
| |
|
|
|
Frank Abbing | Ah, verstanden! Ist also kein echtes Html. Na ja, ich lass es jetzt trotzdem drin. Hast du auch einen Testbericht? |
|
|
| |
|
|
|
| Jaja, das funktioniert schon, aber ich bitte Dich...
Schade das OCX zur Zeit nicht funktioniert, normalerweise durch die Nodes eines "html"-Controls hüpfen und die "links" mitnehmen.
Mit XProfan würde ich das so machen:
{$cleq}
#include download.inc
cls
strings myLinks=arr.aHrefsFromUrl("https://frabbing.de/links.html")
whileLoop sizeOf(myLinks) {
print myLinks[loop-1]
}
print "fertig"
waitinput
end
arr.aHrefsFromUrl(string _url){
strings links=explode(upper$(dw.get(_url)),"<A "),
tmp,
ret
string s
whileLoop 0,sizeOf(links)-1 {
tmp=explode(links[loop],"HREF=")
select sizeOf(tmp)
caseof 0,1 : continue
otherWise
s=substr$(tmp[1],2,mid$(tmp[1],1,1))
case s=="" : continue
ret[sizeOf(ret)]=s
endSelect
}
return ret
}
und das klappt auch ganz gut, solange sich die Angaben innerhalb " oder befinden.
Aber das kann man ja leicht und ewig erweitern.
URLs sind normalerweise case-sensitive, das Beispiel achtet darauf nicht. |
|
|
| |
|
|
|
Frank Abbing |
URLs sind normalerweise case-sensitive, das Beispiel achtet darauf nicht.
Ja, darum auch unbrauchbar.
Ich sagte ja, ist nur ein kleines Utility. Aber für diese Zwecke ausreichend. Dank dir für den Test! |
|
|
| |
|
|
|
| Ne URL eingeben können wäre schön... |
|
|
| |
|
|
|
Frank Abbing | Ja, to be continued. |
|
|
| |
|
|
|
| Die Variante hier ist case-sensitive:
{$cleq}
#include download.inc
cls
strings myLinks=arr.aHrefsFromUrl("https://frabbing.de/links.html")
whileLoop sizeOf(myLinks) {
print myLinks[loop-1]
}
print "fertig"
waitinput
end
arr.aHrefsFromUrl(string _url){
strings links=explode(translate$(translate$(dw.get(_url),"<a ","<A ")," href="," HREF="),"<A "),
tmp,
ret
string s
whileLoop 0,sizeOf(links)-1 {
tmp=explode(links[loop],"HREF=")
select sizeOf(tmp)
caseof 0,1 : continue
otherWise
s=substr$(mid$(tmp[1],1,512),2,mid$(tmp[1],1,1))
case s=="" : continue
ret[sizeOf(ret)]=s
endSelect
}
return ret
}
Man übergibt einfach an die Funktion eine URL, und erhält ein Stringarray zurück mit den Links. |
|
|
| |
|
|
|
Frank Abbing | Lässt sich nicht starten, dein Code. XPSE meldet ne Masse Fehler, trotz dass ich grad die aktuelle download.inc geladen hab. Die Rückgabelinks in der Editbox finde ich auch viel praktischer. |
|
|
| |
|
|