Avatar billede bruhnsweb Nybegynder
09. februar 2011 - 14:34 Der er 8 kommentarer og
1 løsning

Replace specielle tegn

Hej Eksperter,

Jeg har lavet en stump kode som erstatter et brand-navn med et link til brandet's side:

BrandTitle = GetBrands("Title")
BrandID = GetBrands("ID")
NewBrandTitle = "<a href=""/" & BrandTitle & ".html>" & BrandTitle & "</a>"
       
Long_description = Replace(Long_description,BrandTitle, NewBrandTitle)


Ovenstående virker super, så længe vi holder os til alm tegn = bogstaver.
Men tegn som &'% osv bliver ikke erstattet?

Nogen fif???

PFT
Avatar billede keysersoze Guru
09. februar 2011 - 16:29 #1
Som udgangspunkt bør der ikke være problemer med specialtegn - dog kan der opstå problemer hvis der er brugt forskellig charset eller encoding; ligger det ene fx htmlencoded og det andet ikke gør vil replacen ikke fungere.
Avatar billede bruhnsweb Nybegynder
09. februar 2011 - 16:53 #2
Hmm... Prøver at uddybe...

Jeg sammenligner data fra 2 tabeller et tekstfelt som indeholder noget html. og looper så alle de tekstfelt som indeholder brandnames.

Kan jeg lave en konvertering inden jeg sammenligner evt.?
Avatar billede tjens Nybegynder
09. februar 2011 - 20:36 #3
kan du ikke vise indholdet af de 4 variable i #0, plus slutresultat, fra et dataeksempel der går galt?
Avatar billede bruhnsweb Nybegynder
15. februar 2011 - 12:50 #4
Om jeg kan vise indholdet? Jo jeg kan fint vise indholdet, men af en eller anden grund bliver ordene som indeholder specialtegn ikke erstattet.
Avatar billede tjens Nybegynder
15. februar 2011 - 13:01 #5
#4 Jeg mente vise indholdet af variable her på siden, så vi bedre kan bedømme hvad der kan gå galt, og så jeg evt. selv lave lidt kode med data at debugge.
Avatar billede bruhnsweb Nybegynder
15. februar 2011 - 13:15 #6
Arhh :-)

Navne som:
°es
E&W
klein & more

de tre ovenstående navne står i en større tekstblok, som ren tekst uden link.

BrandTitle = trim(GetBrands("Title"))
NewBrandTitle = "<a href=""/" & BrandTitle & ".html>" & BrandTitle & "</a>"
       
Long_description = Replace(Long_description,BrandTitle, NewBrandTitle)
Avatar billede tjens Nybegynder
20. februar 2011 - 16:47 #7
Det skulle nu være endnu mere specifikt:

Hvad er indholdet af Brandtitle og NewBrandTitle før replace, og hvad er indholdet af Long_description  både før og efter replace?

Denne kode i en VB-Console application virker fint:

    Sub Main()
        Dim LongText As String
        Dim Name As String
        Dim NameLink As String
        LongText = "Denne beskrivelse handler om Hans&Mouritz+Sønner som er en god gammel handelsvirksomhed"
        Name = "Hans&Mouritz+Sønner"
        NameLink = "<a href=""/" & Name & ".html"">" & Name & "</a>"
        LongText = Replace(LongText, Name, NameLink)
        Console.WriteLine(LongText)
    End Sub


Du manglede et " til sidst i href-strengen.
Det er tilføjet i koden ovenfor.
Avatar billede bruhnsweb Nybegynder
10. maj 2011 - 08:52 #8
super tjens - virker :-)

svar :-)
Avatar billede tjens Nybegynder
10. maj 2011 - 13:41 #9
Svar
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