Re: Entity 'reg' not defined
| From: | TR Shaw | Date: | Fri, 22 Oct 2010 18:01:39 +0000 |
| Subject: | Re: Entity 'reg' not defined | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-309019@lists.php.net to get a copy of this message | ||
On Oct 22, 2010, at 1:56 PM, Ashley Sheridan wrote:
> On Fri, 2010-10-22 at 12:03 -0400, Adam Richardson wrote:
>
>> On Fri, Oct 22, 2010 at 11:47 AM, TR Shaw <tshaw@oitc.com> wrote:
>>
>>> Anyone have an idea how to work around this? I tried:
>>>
>>> define ('reg', '®');
>>> define ('®', '®');
>>>
>>> can't figure how to override the entity table. Errors follw:
>>>
>>> Warning: simplexml_load_string():
>>>
>>> o.cc/46/e53d68e007fd45c2fccb502f2e7ccad5.php?user_id=47&sub_id=61862469®
>>> in checkifup.php on line 5119
>>>
>>> Warning: simplexml_load_string():
>>> ^ in checkifup.php on line 5119
>>>
>>> Warning: simplexml_load_string(): Entity: line 220: parser error : Entity
>>> 'reg' not defined in checkifup.php on line 5119
>>>
>>> Warning: simplexml_load_string():
>>>
>>> /office/e53d68e007fd45c2fccb502f2e7ccad5.php?user_id=47&sub_id=89877485®
>>> in checkifup.php on line 5119
>>>
>>>
>>> --
>>> PHP General Mailing List (http://www.php.net/)
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>>>
>> Does doing a str_replace and changing it to the corresponding entity number
>> (®) before parsing with simple_xml work?
>>
>> Here's a more robust function:
>>
>> http://www.sourcerally.net/Scripts/39-Convert-HTML-Entities-to-XML-Entities
>>
>> Adam
>>
>
>
>
> This isn't a PHP error, it's an error with your XML. The regular HTML
> entities which you're used to such as ® and © are not
> recognised in XML without first being declared as entities. The entities
> exist in HTML because just outputting those characters won't always work
> in a web browser (*Internet Explorer* *cough* *cough*) whereas XML was
> never meant to be displayed in a browser, but transformed and then
> output to a browser (among many other things) through XSLT. If you use
> the characters directly in your XML you should be fine with the parser,
> although you may have to make sure your document is saved in utf-8, as
> most of the entity characters are above the ascii range.
>
Ash
Its not my XML (® isn't a www standard anyway) but its the xml provided by the source I
have to deal with and I can't change them so I guess I'll just read the xml and then run
defensing string replacements.
Thanks for everyone's help.
Tom