Avatar billede loukas Mester
14. april 2002 - 22:41 Der er 10 kommentarer og
1 løsning

HTTP GET (META NAME="Description")

Jeg prøver på at lave en database hvor man kan tilmelde sin hjemmeside.
Når du har skrevet URL-adressen på din side skal den gå til siden, læse META NAME="Description" og META NAME="keywords". Indsætte dem i en <form> som forslag til brugeren som så kan submitte eller rette  formen.
Det er lykkedes mig at nå så langt som at hente data mellem <HEAD> og </HEAD>
Hva' nu !!!
Håber nogen vil være mig behjælpelig
Avatar billede doc404 Novice
15. april 2002 - 02:06 #1
Hvad har du dine data i? En streng eller en array?
Avatar billede loukas Mester
15. april 2002 - 02:22 #2
i en streng
Avatar billede mwittrock Nybegynder
15. april 2002 - 15:46 #3
Et regulært udtryk kan løse dit problem. Prøv denne kode (kræver VBScript version 5 eller nyere):

-----------------------------8<-----------------------------

Option Explicit

Dim strHTML, objRegExp, objMatch

strHTML = strHTML & "<title>Testside</title>" & vbCRLF
strHTML = strHTML & "<meta name=""description"" content=""Description content"">" & vbCRLF
strHTML = strHTML & "<meta name=""ignore"" content=""Ignore content"">" & vbCRLF
strHTML = strHTML & "<meta name=""keywords"" content=""Keywords content"">"

Set objRegExp = New RegExp
 
With objRegExp
    .Pattern = "<meta\s+name=""(description|keywords)""\s+content=""([^""]*)""\s*>"
    .IgnoreCase = True
    .Global = True
End With

For Each objMatch In objRegExp.Execute(strHTML)
    Response.Write(objMatch.SubMatches(0) & "=" & objMatch.SubMatches(1) & "<br>")
Next

Set objMatch = Nothing
Set objRegExp = Nothing

-----------------------------8<-----------------------------

HTMLen der skal behandles er indeholdt i variablen strHTML. Indholdet i koden er naturligvis kun et eksempel. Bemærk iøvrigt, at det regulære udtryk er for simpelt. I virkelighedens verden vil du støde på META tags, hvor content optræder før name, hvor indholdet ikke er omkranset af anførselstegn, osv. osv.

Her har du en god lejlighed til at lære om regulære udtryk :-)
Avatar billede loukas Mester
15. april 2002 - 20:06 #4
OK, jeg må jo tilstå at jeg er for ny i ASP til lige at gennemskue koden.
Når du skriver at 'at det regulære udtryk er for simpelt', mener du så ikke at det er den optimale løsning, eller mener du bare at denne kode skal rettes til at håndtere sider hvor content optræder før name, hvor indholdet ikke er omkranset af anførselstegn, osv. osv.
Og kan det så ikke ordenes med nogle IF-Then sætninger    ????
Avatar billede mwittrock Nybegynder
16. april 2002 - 01:16 #5
Hej igen. Jeg mener, at udtrykket skal udbygges, så det også rammer de tilfælde, hvor META taget ikke ser ud som <META NAME="description" CONTENT="......">.

Regulære udtryk kan være temmelig svære at læse, men det er en god ting at kunne; de kan ofte spare dig for en masse arbejde.
Avatar billede doc404 Novice
16. april 2002 - 01:26 #6
Tja, I bund og grund handler det jo om parser teknikker. Regular expressions er en rigtig god ide, men de er sgu ikke for hvide mennesker (no offence anyone). Reg exp er rigtig smarte, men ikke det nemmeste at lære eller overskue...

Du bør måske starte med at kigge på InStr og arbejde videre der fra.

Problemet med at parse for et eller andet, er altid at du er nød til at tage højde for alverdens underligheder. Store/små bogstaver, et eller flere mellemrum etc.
Avatar billede loukas Mester
16. april 2002 - 01:47 #7
Hmmm, som jeg tilstod før må jeg jo give doc404 ret, jeg kan ikke gennemskue koden helt :-(
Nå, men jeg har min strHTML og hvad gør jeg ????
kan det gøres uden 'Regular expressions' så jeg måske kan være med ??
ja så vil det jo være dejligt :-)
Hvor starter jeg ???
Avatar billede mwittrock Nybegynder
16. april 2002 - 08:40 #8
Det kan selvfølgelig gøres uden regulære udtryk, men jeg er slet ikke enig i, at det er nemmere at skrive sin egen HTML parser. Loukas, prøv at køre koden, og se hvad der sker. Sæt evt. din egen HTML ind i strHTML, hvis du vil se et mere konkret eksempel.
Avatar billede loukas Mester
16. april 2002 - 12:48 #9
mwittrock :
OK, jeg har kørt koden og den virker, men jeg mangler jo en del.
Som sagt skal brugeren indtaste URL-adresse, dernæst Redirectes
til siden med form-felter der er udfyldt med meta-data fra siden

Sidens Navn:          <title></title>
Beskrivelse af siden: <META NAME="description" CONTENT="......">
søge ord:    osv. osv.

Jeg er ikke i stand til selv at lave koden med 'regulært udtryk'
Avatar billede loukas Mester
19. april 2002 - 15:42 #10
Nå, men jeg tror jeg lukker den her. Og opretter et nyt for at få lidt gang i den !!!
Avatar billede loukas Mester
19. april 2002 - 15:42 #11
???????
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