Permalänk
Medlem

Ampersands (&'s) in URLs ?

Hej, har en liten fråga:

Validatorn säger så här pga av att jag använder '&' i mina länkar:

--------------------------------------------------------------------
Ampersands (&'s) in URLs

Another common error occurs when including a URL which contains an ampersand ("&"):

<!-- This is invalid! --> <a href="foo.cgi?chapter=1&section=2">...</a>

This example generates an error for "unknown entity section" because the "&" is assumed to begin an entity. In many cases, browsers will recover safely from the error, but the example used here will cause the link to fail in Netscape 3.x (but not other versions of Netscape) since it will assume that the author intended to write §ion, which is equivalent to §ion.

To avoid problems with both validators and browsers, always use & in place of & when writing URLs in HTML:

<a href="foo.cgi?chapter=1&section=2">...</a>

Note that replacing & with & is only done when writing the URL in HTML, where "&" is a special character (along with "<" and ">"). When writing the same URL in a plain text email message or in the location bar of your browser, you would use "&" and not "&". With HTML, the browser translates "&" to "&" so the Web server would only see "&" and not "&" in the query string of the request.
-------------------------------------------
Ska man bry sig om det? Gör ni det?

Tack på förhand!

Visa signatur

rm -rf *.blog

Permalänk
Medlem

But ut & mot &amp;

Skriver du ut koden i PHP kan du använda htmlspecialchars($text).

Visa signatur

CTMod Developer (WoW UI Mod)
http://www.CTMod.net

Permalänk
Hedersmedlem

"Byt ut & mot &"
Heh
&amp; ska det väl ändå stå.
(Man måste skriva & amp;amp; utan mellanrum för att det ska se rätt ut på forumet )

Edit: Förresten, on topic... Ja, jag kör alltid med &amp; i URLer eftersom jag bryr mig om att ha alla sidor valid

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
NAS: 6700K/16GB/Debian+ZFS | Backup (offsite): 9600K/16GB/Debian+ZFS

Permalänk
Hedersmedlem

Som Thomas sa, jag bryr mig alltid om det.

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

Haha, så tokigt det kan bli Tänkte inte på det.

Visa signatur

CTMod Developer (WoW UI Mod)
http://www.CTMod.net

Permalänk
Medlem

Tack så mycket för svaren! Har ändrat nu och sidan validerar

Visa signatur

rm -rf *.blog

Permalänk
Glömsk

Vill man slippa att forumet formaterar kan man klistra in [b][/b] lite överallt i det man skriver. Exempel:

&[b][/b]am[b][/b]p; blir
&amp;

about[b][/b]:[b][/b]config blir
about:config
(annars blir det about :config)

Osv.

Edit: Citera för fan inte det här inlägget, för det var ett jäkla hack att skriva ut [b][/b] utan att det försvinner. Ser jävligt ut.

Visa signatur

...man is not free unless government is limited. There's a clear cause and effect here that is as neat and predictable as a law of physics: As government expands, liberty contracts.

Permalänk
Hedersmedlem

Psionicist: Hahaha!

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Testpilot

Vad bra att den här tråden startades, jag hade en liknande fråga.
Det är så att jag också får varning om &-tecken i url:er men problemet är att det är php som lägger till den när den ska lägga till &sessionid=blablabla hur fixar man det? jag har inte kodat sidan med dom i url:erna.

Visa signatur

Kolla gärna in min RGB-LED-ljusstake i galleriet
[Gigabyte GA-Z97MX-Gaming 5][Intel Core i5 4690K][Corsair XMS3 16GB][Asus GeForce RTX 2060 Super Dual Evo OC]

Permalänk
Medlem

Skit i &amp; för urler, ser fult somfan ut och det är bara netscape 3.0 som inte klarar det (och det är även därför validatorn säger ifrån, det bryter ej mot deras standard)

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Hedersmedlem

hunden: Jag kan ingenting om sessions själv, men kan du inte köra PHP-funktioner på själva "slut-URLen" på något vis?

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
NAS: 6700K/16GB/Debian+ZFS | Backup (offsite): 9600K/16GB/Debian+ZFS

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av hunden
Vad bra att den här tråden startades, jag hade en liknande fråga.
Det är så att jag också får varning om &-tecken i url:er men problemet är att det är php som lägger till den när den ska lägga till &sessionid=blablabla hur fixar man det? jag har inte kodat sidan med dom i url:erna.

Stäng av session.use_trans_sid.

Visa signatur

10 RTFM
20 RTFAQ
30 STFW

Permalänk

Har skrivit en regexp för detta ändamålet, lägg till detta i alla filer och kör preg_replace() på allt ni vill ha fixat. Har hittils funkat perfekt

$string = 'http://vigge.net/?something=1&test=2&amp=skit'; $string = preg_replace("/&(?![A-Za-z0-9#]{2,7};)/", "&", $string); // $string = "http://vigge.net/?something=1&test=2&amp=skit"

edit: blev tvungen att skriva ut som [ code ], funkade inte annars