Re: Entity 'reg' not defined
| From: | Bastien Koert | Date: | Fri, 22 Oct 2010 18:32:36 +0000 |
| Subject: | Re: Entity 'reg' not defined | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-309021@lists.php.net to get a copy of this message | ||
On Fri, Oct 22, 2010 at 2:28 PM, Richard Quadling <rquadling@gmail.com> wrote:
> 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
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
Couldn't you cdata wrap that value?
--
Bastien
Cat, the other other white meat