On Fri, 2010-10-22 at 12:03 -0400, Adam Richardson wrote: > On Fri, Oct 22, 2010 at 11:47 AM, TR Shaw <tshaw@xxxxxxxx> 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. Thanks, Ash http://www.ashleysheridan.co.uk