Так что у меня это регулярное выражение:Regex заменить амперсанд, но не тогда, когда они находятся в URL
&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)
Это соответствует всем & «S в блоке текста
Однако, если у меня есть эта строка:
& & & & & <a href="http://localhost/MyFile.aspx?mything=2&this=4">My Text &</a>
---------------------------------------------------------^
... отмеченные & также получить настроен таргетинг - и, как я использую его, чтобы заменить & «S с & URL-адрес затем становится недействительным:
http://localhost/MyFile.aspx?mything=2&this=4
D'oh! Кто-нибудь знает лучший способ кодирования &, которые являются не в URL.
'\ w' уже соответствует всем символам класса' [0-9a-fA-F] '. Поэтому '(?: [0-9a-fA-F] + | \ w +)' может быть просто записано как '\ w +'. –
За что голосовать? – Paul
Ваш образец кода недействителен. Вы ** должны ** кодировать амперсанды по URL-адресам: http://htmlhelp.com/tools/validator/problems.html#amp – Quentin