Avatar billede vincze Nybegynder
10. maj 2001 - 13:53 Der er 26 kommentarer og
3 løsninger

& erstattes med ;amp&

Min htmlkode har det med at blive skamferet når det kommer i fx. Frontpage. Her bliver mine & erstattet med ;amp&

Er det noget med tegnsæt eller lign og hvordan undgår man det??

Mvh

Kim
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 14:00 #1
Jo, men det er måden man skal skrive en & i HTML. Dvs. den skriver
jo forhåbentlig  &
Avatar billede toni01 Nybegynder
10. maj 2001 - 14:00 #2
Hvis problemet komme ved brug af copy - Paste, så er det en god ide først at paste koden ind i notepad, og så derfra over i frontpage.
Avatar billede nikolajdu Nybegynder
10. maj 2001 - 14:01 #3
Det er den korrekte måde at indsætte tegn på i html ;amp&.

Ligesom æøå vil bliver ændret.
Avatar billede nikolajdu Nybegynder
10. maj 2001 - 14:01 #4
orv hvor var jeg slow der...
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 14:02 #5
Jo, men fidusen er at man ikke skal undgå det. Man kan kun være sikker
på at brugeren ser en & på skærmen, hvis der står & i HTML-koden.
Avatar billede vincze Nybegynder
10. maj 2001 - 14:07 #6
Problemet er bare at der hvor den ændrer det, er i et link hvor & altså skal være & og ikke ;amp&

Kan man virkelig ikke låse sit &?
Avatar billede olebole Juniormester
10. maj 2001 - 14:16 #7
<ole>
MicroSoft er engelsk og betyder \"Jeg gætter mig frem\"...!  :o)
Det gælder desværre for meget af software\'en fra det firma, at hvis den støder på noget, der kan være lidt tvivl om, vælger den at gætte på, hvad der oprindelig blev ment. Det behøver dog ingenlunde at være korrekt - og så har man balladen.
/mvh
</bole>
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 14:29 #8
Hvis du tænker på

  <a href=\"www.enhost.com/script.asp?a=1&b=2\">...</a>

Så **er** det faktisk formelt helt forkert i forhold til standarden. Browserne
accepterer, men den helt 100% statsgaranterede korrekte syntaks er:

  <a href=\"www.enhost.com/script.asp?a=1&amp;b=2\">...</a>

og det vil også virke. Naturligvis. Du skriver hele tiden ;amp& - men mener du
ikke &amp; ?? Hvis Frontpage virkelig indsætter ;amp&, ja så har du et problem!
Avatar billede morden.dk Nybegynder
10. maj 2001 - 15:21 #9
erikjacobsen den querystreng kommer du ikke langt med. De skal URLencodes og ikke HTMLencodes.
En god regel når man brug WYSIWYG værktøjer som f.eks FP, er at indtaste alle specielle url\'s direkte i koden. Det gælder både ASP, PHP, Javascript osv. Selv ret gode værktøjer som Dreamweaver Ultradev \'kommer til\' at replace specialtegnene.
Jeg ved ikke med FP men andre programmer highlighter den kode man markere i \'designmode\' f.eks. et link, så det er nemt at finde hvis man ikke er html\'ster :)
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 15:25 #10
Er det noget du gætter dig til, morden.dk, eller har du prøvet. Jeg tager lige
et tilfældigt link, der virker rigtigt fint:

<a class=\"text\" href=\"http://www.activeserverpages.dk/download/default.asp?mode=showdownload&amp;id=17\" target=\"_blank\">Editpad: En gratis forbedring af Notesblok.</a>
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 15:25 #11
...uden eksperten.dk\'s berømte semikolon :)
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 15:28 #12
Groft sagt er reglen, at alle parameterværdier skal URL-encodes, dvs. alle steder
der står xxxxxxx i denne

    fil.php?navn=xxxx&navn1=xxxxx&navn2=xxxxxx

Og derefter skal strengen HTML-encodes, når den skal ind i en HTML-streng, som
alle strenge jo bør. Derved opstår &amp; - såmænd da.
Avatar billede morden.dk Nybegynder
10. maj 2001 - 15:35 #13
Ja i Explorer, men ikke i f.eks Netscape.
Microsoft server eller browser er måske lidt mere large med tegnene.
Det korrekte er altså statigvæk at holde sig til standarden for url\'s. Med ASP konvertere man tit strenge til de forskellig formater. De kan hedde server.urlencode(string) eller server.htmlencode(string). Det er altså to forskellige.

hej du, hedder f.eks. hej%20du :)

Altså uden :)
Avatar billede olebole Juniormester
10. maj 2001 - 15:36 #14
Jeg smider håndklædet i textarea\'et...du har som sædvanlig ret, Erik  :o)
/mvh
Avatar billede olebole Juniormester
10. maj 2001 - 15:37 #15
morden.dk >> Inden du går videre, skulle du måske gøre som Erik og jeg har gjort: Prøv det i NS  :o)
/mvh
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 15:37 #16
Jamen, det virker fint fint fint i Netscape. Er det noget du har prøvet,
eller gætter du?

Det har intet med URLs at gøre. Et &amp; i en streng bliver af alle browsere
lavet om til &.
Avatar billede morden.dk Nybegynder
10. maj 2001 - 15:38 #17
lidt med timingen her? :)
Avatar billede morden.dk Nybegynder
10. maj 2001 - 15:40 #18
Jeg får følgende fejl i IE 5.5 faktisk

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near \')\'.

/download/default.asp, line 102


Og min NN4.08 viser intet indhold på siden
Avatar billede vincze Nybegynder
10. maj 2001 - 15:58 #19
Jeg har konstateret at linket virker på trods af at det absolut skal laves om når man gemmer i FP (bigbrother-tendenser!!!)

Mit problem opstår så når jeg i webloggen skal forfølge disse links for her kan mit værktøj ikke håndtere det der &amp; men kun &.

Ellers må jeg sige at i alle gør jeg godt fortjent til pointene :-)

PS Ev løsning skal kunne bruges i både MSIE>4 og Netscape>4
Avatar billede morden.dk Nybegynder
10. maj 2001 - 16:06 #20
vincze du skal bare gå ind i koden og erstatte eventuelle &amp;\'s i links med &
Avatar billede olebole Juniormester
10. maj 2001 - 16:13 #21
morden >> I IE5.5 på PC fungerer linket fint - i IE5.0 på Mac fungerer det også upåklageligt. Hvilken platform er du på?
Avatar billede vincze Nybegynder
10. maj 2001 - 16:17 #22
Det bliver jeg vist nød til, problemet er bare at dokumentet ofte bliver åbnet og gemt i Frontpage (pga vores arbejdsgang) så jeg kommer vist til at fare rundt i notepaden nogle gange...
Avatar billede vincze Nybegynder
10. maj 2001 - 16:20 #23
I gjorde sku en indsats drenge. Jeg har udviddet pointene og smidt lidt til jer hver (toni undtaget - sorry)
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 20:59 #24
Jamen, den fejl får jeg da også
  [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near \')\'.
hvis jeg altså er så dum at klistre
  http://www.activeserverpages.dk/download/default.asp?mode=showdownload&amp;id=17
direkte ind i adresselinien i browseren. Det er jo ikke det, det handler om. Slet ikke.
Du skal skrive det i en <a href=\"http://www.activeserverpages.dk/download/default.asp?mode=showdownload&amp;id=17\">download</a>.
Det er browserens HTML-fortolker, der laver &amp; om til & når det står i
en HTML-streng. Som jeg nu har sagt mange gange :)

Tag lige og prøv - ikke ?
Avatar billede erikjacobsen Ekspert
10. maj 2001 - 21:01 #25
Hmm, det der med at der står &amp; i logfilerne forstår jeg nu ikke helt, vincze?

Kan du fortælle lidt mere præcist hvordan de kommer i loggen? Give et eksempel?
Avatar billede olebole Juniormester
10. maj 2001 - 21:07 #26
Sådan, Erik...Mordens Aften...spis ham...!  *LooOooL*
Avatar billede morden.dk Nybegynder
12. maj 2001 - 15:30 #27
Erik, du har ret i at browseren går ind og fortolker linket, det vidste jeg ikke.
Jeg mener bare stadigvæk man skal passe på med at HTMLencode links. Holder man sig til URL formatet har man en streng der altid virker, fortolket eller ej. løbeturÆrdajlig.asp bli\'r så til l%F8betur%C6rdajlig.asp istedet for l&oslash;betur&AElig;rdajlig.asp. Det er faktisk også det Ultradev gør, hvis man skiver specialtegn i linkfeltet.
Et eller andet sted handler det vel også om datapli og simpelthen udelade brug af specialtegn.

..Og olebole få da lige næsen ud af eriks røv :)
Avatar billede erikjacobsen Ekspert
12. maj 2001 - 21:43 #28
Jo, men det har jeg forklaret. Jeg citerer:

---klip---
Groft sagt er reglen, at alle parameterværdier skal URL-encodes, dvs. alle steder
der står xxxxxxx i denne

          fil.php?navn=xxxx&navn1=xxxxx&navn2=xxxxxx

Og derefter skal strengen HTML-encodes, når den skal ind i en HTML-streng, som
alle strenge jo bør. Derved opstår &amp; - såmænd da.
---klip---

Alle strenge, der skal anbringes i en HTML-streng skal HTMLencodes. Men mindre
man med sikkerhed ved at den ikke indeholder giftige tegn.

Og det er ikke noget man skal gøre med URL-er fordi det er lidt mere rigtigt, uden
at det betyder noget. Nej, det er pinedød nødvendigt hvis det altid skal virke.
Prøv lige denne link (find selv en php eller asp fil på en server):

<a href=\"htttp://www.www.www/www.asp?x=1&aelig=44\">test</a>

Den burde jo som den står gå ind på siden  www.asp  med request(\"x\")=18
og request(\"aelig\")=44. Men gør den det? Nej, ikke i mine browsere (IE4 og NS4.5).
Her blive &aelig nemlig fortolket som \"æ\". Ja, egentlig skulle der et semikolon efter,
altså: &aelig; - men det bliver til et \"æ\". Prøv derefter:

<a href=\"htttp://www.www.www/www.asp?x=1&amp;aelig=44\">test</a>

og se at nu virker det som forventet. Med mindre du er 100% sikker på ikke at
ramme en af disse \"html-entities\" - &aelig; &aring; osv - skal du altså gøre som
jeg siger.
Avatar billede olebole Juniormester
13. maj 2001 - 17:26 #29
morden >> Jeg kender ikke til dine tilbøjeligheder af mere eller mindre uhumsk karakter - men jeg må under alle omstændigheder bede dig om ikke at projicere dem over på os andre - du må lære at leve med dem på egen hånd.
Held og lykke med det - og på forhånd tak  :oD
/mvh
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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