Reply to Re: [PHP] actually the è not the ampersand

Your name:

Reply:


Posted by John Nichel on 10/13/05 00:17

jonathan wrote:
> so, the problem isn't the ampersand but rather the è in the
> following:
> <item_name>farm lettuces with reed avocado, cr&egrave;me fra&icirc;che,
> radish and cilantro</item_name>
>
> I'm not sure how php / DOM handles these non-standard other entities.
> How would / could I escape this? do I need to convert it to something
> else to make DOM happy (say grave) and then convert it back when
> outputted? It seems like there might be a way to use
> createEntityReference but searching through google shows no examples.
> arg.....

I have to do this to create XML documents for our company, and built
this function for it. You're welcome to use/modify it to fit your needs.

function convertString ( $string ) {
$find_array = array (
"/&quot;/",
"/&amp;/",
"/&lt;/",
"/&gt;/",
"/&nbsp;/",
"/&iexcl;/",
"/&cent;/",
"/&pound;/",
"/&curren;/",
"/&yen;/",
"/&brvbar;/",
"/&sect;/",
"/&uml;/",
"/&copy;/",
"/&ordf;/",
"/&laquo;/",
"/&not;/",
"/&shy;/",
"/&reg;/",
"/&macr;/",
"/&deg;/",
"/&plusmn;/",
"/&sup2;/",
"/&sup3;/",
"/&acute;/",
"/&micro;/",
"/&para;/",
"/&middot;/",
"/&cedil;/",
"/&sup1;/",
"/&ordm;/",
"/&raquo;/",
"/&frac14;/",
"/&frac12;/",
"/&frac34;/",
"/&iquest;/",
"/&Agrave;/",
"/&Aacute;/",
"/&Acirc;/",
"/&Atilde;/",
"/&Auml;/",
"/&Aring;/",
"/&AElig;/",
"/&Ccedil;/",
"/&Egrave;/",
"/&Eacute;/",
"/&Ecirc;/",
"/&Euml;/",
"/&Igrave;/",
"/&Iacute;/",
"/&Icirc;/",
"/&Iuml;/",
"/&ETH;/",
"/&Ntilde;/",
"/&Ograve;/",
"/&Oacute;/",
"/&Ocirc;/",
"/&Otilde;/",
"/&Ouml;/",
"/&times;/",
"/&Oslash;/",
"/&Ugrave;/",
"/&Uacute;/",
"/&Ucirc;/",
"/&Uuml;/",
"/&Yacute;/",
"/&THORN;/",
"/&szlig;/",
"/&agrave;/",
"/&aacute;/",
"/&acirc;/",
"/&atilde;/",
"/&auml;/",
"/&aring;/",
"/&aelig;/",
"/&ccedil;/",
"/&egrave;/",
"/&eacute;/",
"/&ecirc;/",
"/&euml;/",
"/&igrave;/",
"/&iacute;/",
"/&icirc;/",
"/&iuml;/",
"/&eth;/",
"/&ntilde;/",
"/&ograve;/",
"/&oacute;/",
"/&ocirc;/",
"/&otilde;/",
"/&ouml;/",
"/&divide;/",
"/&oslash;/",
"/&ugrave;/",
"/&uacute;/",
"/&ucirc;/",
"/&uuml;/",
"/&yacute;/",
"/&thorn;/",
"/&yuml;/"
);
$replace_array = array (
'&#034;',
'&#038;',
'&#060;',
'&#062;',
'&#160;',
'&#161;',
'&#162;',
'&#163;',
'&#164;',
'&#165;',
'&#166;',
'&#167;',
'&#168;',
'&#169;',
'&#170;',
'&#171;',
'&#172;',
'&#173;',
'&#174;',
'&#175;',
'&#176;',
'&#177;',
'&#178;',
'&#179;',
'&#180;',
'&#181;',
'&#182;',
'&#183;',
'&#184;',
'&#185;',
'&#186;',
'&#187;',
'&#188;',
'&#189;',
'&#190;',
'&#191;',
'&#192;',
'&#193;',
'&#194;',
'&#195;',
'&#196;',
'&#197;',
'&#198;',
'&#199;',
'&#200;',
'&#201;',
'&#202;',
'&#203;',
'&#204;',
'&#205;',
'&#206;',
'&#207;',
'&#208;',
'&#209;',
'&#210;',
'&#211;',
'&#212;',
'&#213;',
'&#214;',
'&#215;',
'&#216;',
'&#217;',
'&#218;',
'&#219;',
'&#220;',
'&#221;',
'&#222;',
'&#223;',
'&#224;',
'&#225;',
'&#226;',
'&#227;',
'&#228;',
'&#229;',
'&#230;',
'&#231;',
'&#232;',
'&#233;',
'&#234;',
'&#235;',
'&#236;',
'&#237;',
'&#238;',
'&#239;',
'&#240;',
'&#241;',
'&#242;',
'&#243;',
'&#244;',
'&#245;',
'&#246;',
'&#247;',
'&#248;',
'&#249;',
'&#250;',
'&#251;',
'&#252;',
'&#253;',
'&#254;',
'&#255;'
);
$string = htmlentities ( strip_tags ( preg_replace ( "/\n|\r|\r\n/", "
", $string ) ), ENT_QUOTES );
$string = preg_replace ( $find_array, $replace_array, $string );
return $string;
}

--
John C. Nichel
ÜberGeek
KegWorks.com
716.856.9675
john@kegworks.com

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация