How to deal with special characters in URLs inside

2019-06-25 06:44发布

问题:

I have an XML element that has a url as one of it's children, for example:
http://maps.google.com/FortWorth&Texas,more+url;data

When parsing this, I'm having two issues:
1.) The (&) symbol breaks the entire parse unless replaced with &amp (which breaks the url)
2.) The comma (,) tries to send my parser on to the next child, resulting in an incomplete url.

What can I do to remedy this?
I'm using Javascript and PHP.

回答1:

Replacing & with & shouldn't break the url. Did you left out the ;?

Better solution is you should wrap that in a CDATA tag:

<![CDATA[ http://maps.google.com/FortWorth&Texas,more+url;data ]]>

Which tells the XML parser to treat it as text and not parse the &.



回答2:

There are certain characters which are not valid in XML - you need to "escape" these in the xml document.

These characters and their "escaped" versions are:

>  &gt;
<  &lt;
&  &amp;
'   &apos;
"   &quot;