Kom ihåg mig?
Home Menu

Menu


Ersätta & med &amp; förutom i <script>-tagg

Ämnesverktyg Visningsalternativ
Oläst 2006-11-18, 19:01 #1
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Jag behöver ersätta &-tecken med &amp; med hjälp av preg_replace.

Följande pattern hittar &-tecken som inte är ett specialtecken (typ &copy; &auml:
Kod:
/&(?![A-Za-z0-9#]*;)/
Om jag kör denna på dokumentet funkar det precis som det skall, förutom när det finns ett inbakat javascript som innehåller &&. Detta blir &amp;&amp; vilket inte är nån höjdare.

Jag har försökt i några timmar nu att utesluta &-tecken i script-taggarna, men jag har inte kommit längre än föregående syntax samt följande för att hitta script-taggarna.
Kod:
/(<script[\s\S]*>[\s\S]*[\s\S]*<\/[\\s\\t\\r\\n]*script[\\s\\t\\r\\n]*>)/U
/U är där för att inte ta flera script-taggar samtidigt...

Nån som har ett förslag på hur jag löser detta?
qson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-11-18, 20:29 #2
DeSotos avatar
DeSoto DeSoto är inte uppkopplad
Flitig postare
 
Reg.datum: Oct 2005
Inlägg: 323
DeSoto DeSoto är inte uppkopplad
Flitig postare
DeSotos avatar
 
Reg.datum: Oct 2005
Inlägg: 323
Du skulle kunna göra så att du först ersätter allt, sen ersätter du tillbaka det inom <script>. Inte den snyggaste lösningen, men du slipper hålla på med det flera timmar. Eller flytta javascript-koden till externa filer, vilket är det rätta sättet att ha javascript.
DeSoto är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-11-19, 18:00 #3
jonny jonny är inte uppkopplad
Supermoderator
 
Reg.datum: Sep 2003
Inlägg: 6 941
jonny jonny är inte uppkopplad
Supermoderator
 
Reg.datum: Sep 2003
Inlägg: 6 941
Du ersätter nu alla & som inte återföljs av en bokstav eller siffra.

Alt1
Ersätt bara & som återföljs av whitespace.

Alt2
Ersätt alla & som inte återföljs av A-Z, 0-9 eller &
jonny är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-11-21, 16:03 #4
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Jonny: Nu ersätter den alla &-tecken som inte återföljs av bokstäver, siffror och ett semikolon (&copy, och jag kan inte ersätta och som följs av whitespace för jag vill att den ska behandla URLer.

DeSoto: Skall testa ditt förslag. Verkar bra....
qson är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 16:18.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017