Re: Entity 'reg' not defined
| From: | Richard Quadling | Date: | Fri, 22 Oct 2010 18:28:50 +0000 |
| Subject: | Re: Entity 'reg' not defined | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-309020@lists.php.net to get a copy of this message | ||
On 22 October 2010 19:01, TR Shaw <tshaw@oitc.com> wrote:
>
> 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
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
My xml file is ...
<?xml version="1.0"?>
<tag>®</tag>
Using different tools the error is always along the lines of ...
"This page contains the following errors:
error on line 1 at column 11: Entity 'reg' not defined
Below is a rendering of the page up to the first error."
<?xml version="1.0"?>
<tag>&#ae;</tag>
"This page contains the following errors:
error on line 2 at column 8: CharRef: invalid decimal value
Below is a rendering of the page up to the first error."
The only thing I could do was ...
<?xml version="1.0"?>
<tag>&reg;</tag>
--
Richard Quadling
Twitter : EE : Zend
@RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY