Avatar billede sun Nybegynder
03. maj 2005 - 12:21 Der er 5 kommentarer og
1 løsning

Hente flere texter fra en extern side.

Hejsa, jeg har brug for et script som kan tage noget text fra en extern PHP side som jeg skal gemme i en ny DB.

Så min Asp kode open en side som "www.myhomepage.dk/index.php3?&HytteID=57"

kigger den igennem: (udpluk)
<td width="90%">Opvaskemaskine</td><td>Ja</td></tr><tr><td <width="90%">Kaffemaskine</td><td>Ja</td>

så jeg kan gemmen at opvaskemaskine = ja osv.

Håber i med :-)

Tak på forhånd SUN
Avatar billede busschou Praktikant
03. maj 2005 - 12:52 #1
Jeg er ikke helt med på præcis hvordan du ønsker det
Men her er der eksempler på hvordan man generelt "ripper" html kode fra en hvilken som helst side
http://www.mikenew.net/download/aspsnippets.asp
http://www.4guysfromrolla.com/webtech/110100-1.shtml#postadlink
De kan jo så modificeres så du gemmer outputtet i stedet og så i asp løber det igennem
Det du ikke kan er at få vekommende sides php eller asp kode da den ligger på serveren.
Avatar billede sun Nybegynder
03. maj 2005 - 13:31 #2
lidt af det kan jeg bruge, til at hente kode med.

Function GetHTML(strPage)
On Error Resume Next
Set objXMLHttp = Server.CreateObject ("Microsoft.XMLHTTP")
objXMLHttp.Open "GET", strPage ,False,"",""
objXMLHttp.Send
If Err.Number = 0 Then
If objXMLHttp.Status = 200 then
GetHTML = objXMLHttp.ResponseText
Else
GetHTML = "Incorrect URL"
End if
Else
GetHTML = Err.Description
End If
Set objXMLHttp = Nothing
End Function

---------

GetHTML("http://www.myhomepage.dk/index.php3?&HytteID=57) skal nu bare kun have det som jeg skal bruge.
"Dette er en tekst med et fra side <tag>Det jeg skal have</tag> teksten mellem nogle tags"
Avatar billede sun Nybegynder
03. maj 2005 - 14:24 #3
Tror jeg kan skrive lidt lette hvad jeg vil, jeg har nu fået hele side ned i en streng, nu skal jeg bare havde nogle tekster fra den som er mellem to tags.
Dette er noget kode fra den rigtig side:

<td width="90%">Opvaskemaskine</td><td>Ja</td></tr><tr><td <width="90%">Kaffemaskine</td><td>Ja</td>
<width="90%">pris</td><td>800</td>

og jeg vil godt ende med at have:

Kaf =Ja
Opv =Ja
pris =800

som jeg kan gemme i en database.
Avatar billede busschou Praktikant
03. maj 2005 - 14:33 #4
Det nemmeste er nok at gå ind i Reg.Exp kategorien og bruge et regulært udtryk. Det vil kunne laves så det fjerner alle <td> tags og når det støder på </td> så kan du indsætte et mellemrum fx.
Så vil du ende op med en streng med mellemrum mellem type og værdi
Den vil du kunne splitte op i et array og løbe igennem
Jeg er desværre ikke haj til Reg.Exp .. men vil tro det kan lade sig gøre på den måde
Avatar billede sun Nybegynder
04. maj 2005 - 12:28 #5
Men det må kunne laves uden Reg.exp, har et scritp som jeg kan bruge til at skifte texten ud med, måske kan det laves om..

Dim strTagName : strTagName = "tag"
Dim strText : strText = "Dette er en tekst med et <tag>Som jeg skal fjerne</tag> teksten mellem nogle tags"
Dim intStartIndex : intStartIndex = InStr( strText, "<" & strTagName & ">" )
Dim intStopIndex : intStopIndex = -1
if( intStartIndex >= 0 ) Then
    intStartIndex = intStartIndex + LEN( "<" & strTagName & ">" )
    intStopIndex = InStr( strText, "</" & strTagName & ">" )
    Dim strReplaceText : strReplaceText = MID( strText, intStartIndex, intStopIndex - intStartIndex )
    strText = Replace( strText, strReplaceText, "NOGET ANDET" )
    Response.Write( strText )
End if
Avatar billede sun Nybegynder
30. januar 2009 - 16:07 #6
lukker denne
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