Avatar billede fixxxer Nybegynder
13. oktober 2003 - 20:03 Der er 10 kommentarer og
2 løsninger

reg. expressions

Delphi kategorien virker lidt død, men det afholder mig nu ikke fra at prøve igen :)

Jeg har en string, der indeholder en html-kode f.eks:
<a href="tralal.htm" class="minklasse"> (counter-tag'et er ligegyldigt)

Nu vil jeg så gerne hente værdierne for href og class ud i fx en TEdit. Det kunne man jo let gøre med en Copy()... men hvad kunne man så forestille sig der skete hvis en asp-programmør satte sig ned og kodede lidt:

<a href="<%=Request.QueryString("endumquery")%>" class="minklasse">

hvordan dælen skal jeg nu vide hvilket "-tegn jeg skal stoppe min Copy() på? Måske arbejder jeg med en hel forkert metode?

Mange point til et rigtig godt svar :)
Avatar billede fixxxer Nybegynder
13. oktober 2003 - 20:04 #1
reg. expressions, fordi jeg kunne forestille mig at det er det jeg skal have fat i :)
Avatar billede athlon-pascal Juniormester
13. oktober 2003 - 20:08 #2
Måske skal du starte med at skrive i dit sidste spørgsmål, hvad du fandt frem til. Det kan være, andre kan få glæde af det :-)
Avatar billede fixxxer Nybegynder
13. oktober 2003 - 20:10 #3
det jeg fandt frem til vil give nada mening for andre vil jeg tro, for det opringelige mål lykkedes ikke, men med en anden metode kom jeg frem til noget der virkede, men lad gå jeg paster bare skidtet ind, så kan folk gætte sig til resten :)
Avatar billede sabine Nybegynder
13. oktober 2003 - 20:49 #4
fixxxer : At se andres kode er som reglen den måde de fleste lære bedst på også selvom den ikke er kommenteret
Avatar billede flandhart Nybegynder
15. oktober 2003 - 08:11 #5
Man kan bruge regular expressions i Delphi når man lige includerer en komponent herfra:
http://anso.virtualave.net

Og det virker fint!
Avatar billede fixxxer Nybegynder
15. oktober 2003 - 21:48 #6
nu udelukker jeg ikke regular expressions, men det er jo ikke nødvendigvis svaret på problemet, desuden ville det gavne mig en del hvis du uder over det fine link, kunne give mig en reg. exp eksempel som kan løse mit konkrete problem?
Avatar billede fixxxer Nybegynder
15. oktober 2003 - 21:48 #7
linket returnere at serveren ikke findes
Avatar billede flandhart Nybegynder
16. oktober 2003 - 09:23 #8
Linket er OK?!

Nu virker komponenten ikke helt som JScript, men det er vel noget i retning af:


function Print(s) {
    WScript.Echo(s);
}


function GetHRef(s) {
var v = (s + "").match(/(href=\"<%.*%>\")|(href=\"[^\"]*\")/gi);
    return v ? v.join("|") : "";
}

var s = '<a href="<%=Request.QueryString("endumquery")%>" class="minklasse" a href="sdfdsffd" >'

Print(GetHRef(s));
Avatar billede fixxxer Nybegynder
09. november 2003 - 20:04 #9
flandhart  >> jeg kan ikke få den
(s + "").match(/(href=\"<%.*%>\")|(href=\"[^\"]*\")/gi)

til at du på
<a href="<%=Request.QueryString("endumquery")%>" class="minklasse" a href="sdfdsffd" >

hva skyldes det?
Avatar billede fixxxer Nybegynder
14. november 2003 - 15:05 #10
dit svar hjalp mig kun delvist, så du får 30 point for linket til regexp programmet
Avatar billede flandhart Nybegynder
17. november 2003 - 13:18 #11
Det er da pænt af dig, jeg har selv haft stort udbytte af den komponent (og regular expressions)
Avatar billede fixxxer Nybegynder
05. december 2003 - 18:39 #12
jeg vælger lige at starte tråden igen, jeg vil oprette et nyt spørgsmål med samme problem.

jeg vil gerne kunne parse ethvert html-tag, og redigere on-the-fly på et valgt html-tag.

hvor mange point er sådan en løsning værd? :)
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