php gettext·½Ê½ÊµÏÖUTF 8¹ú¼Ê»¯¶àÓïÑÔ(i18n)
½ü
À´Ëæ×Åi18n(¹ú¼Ê»¯)µÄÖð½¥±ê×¼»¯£¬ÎÒÒ²À´½²Ò»½²ÔÚPHPÖÐÈçºÎʵÏÖ¹ú¼Ê»¯Ö§³Ö¡£¸úÆäËû³ÌÐòÓïÑÔÒ»Ñù£¬ÔÚ PHP Ò²¿ÉÒÔÀûÓà gettext
Ì×¼þд×÷ i18n ³ÌÐò£¬ÊµÏÖ NLS(Native Language Support) ¹ú¼Ê»¯Ö§³Ö£¬¾ßÌåÇë²Î¿¼¹Ù·½Îĵµ(
http://www.gnu.org/software/gettext/manual/gettext.html
)
ÕâÀïÎÒÃÇÖ÷Òª½éÉÜwindowƽ̨ÏÂʹÓÃphpµÄÀ©Õ¹gettextʵÏÖ³ÌÐòµÄ¹ú¼Ê»¯¡£
gettext¼ò½é£º
GNU
gettextÊÇ·ÒëÏîÄ¿µÄÖØÒªÒ»²½£¬ËüÌṩÁËÒ»¸ö¹¤×÷¿ò¼Ü£¬ÓÉһЩ¼¯³ÉµÄ¹¤¾ßºÍÎĵµ×é³É£¬°ïÖú³ÌÐòÔ±¡¢·ÒëÈËÔ±ºÍ×îÖÕÓû§ÊµÏÖ³ÌÐòµÄ¹ú¼Ê»¯ºÍ±¾µØ»¯¡£ÓÃ
GettextµÄ·½Ê½ÊµÏÖ¶àÓïÑԵõ½Á˹㷺µÄÖ§³Ö£¬ÖøÃûµÄBLOG³ÌÐòwordpressµÄ¹ú¼Ê»¯¾ÍÊÇÓõÄGNU gettext¡£
´óÖÂÔÀí£º
GNU
gettextʹÓÃPO»òMOÎļþÀ´ÊµÏÖ¹ú¼Ê»¯ºÍ±¾µØ»¯¡£POµÄÒâ˼ÊÇPortable
Object£¬ÊÇÒ»ÖÖÎı¾½á¹¹£¬¿ÉÒÔ·½±ãµÄÓÉÈËÃÇÔĶÁºÍÐ޸ġ£MOÊÇMachine
ObjectµÄ¼òд£¬MOÎļþÊÇPOÎļþµÄ¶þ½øÖÆÐÎ̬¡£Ò»°ãÀ´Ëµ£¬Ò»¸öPO»òMOÎļþ¶ÔÓ¦ÓÚÒ»ÖÖÓïÑÔ£¬Èç¹ûÒ»¸ö³ÌÐòÒªÖ§³Ö¶àÖÖÓïÑÔ£¬Ã¿Ò»ÖÖÓïÑÔ¶¼ÐèÒª×Ô¼º
µÄPO»òMOÎļþ¡£
¿ªÊ¼Ó¦Óãº
²½ÖèÒ»£º´î½¨»·¾³(·þÎñÆ÷ÒѾÍê³É£¬»·¾³ÒѾ´î½¨ºÃÁË)
1¡£Ê×ÏȲ鿴ÄãµÄphpÀ©Õ¹Ä¿Â¼ÏÂÊÇ·ñÓÐphp_gettext.dllÕâ¸öÎļþ£¬Èç¹ûûÓУ¬Õâ¾ÍÐèÒªÄãÏÂÔØÒ»¸ö»òÊÇ´ÓÆäËûµØ·½¿½±´Ò»¸ö£¬È»ºó·Åµ½phpÀ©Õ¹Ä¿Â¼¡£
2¡£´ò¿ªphp.ini£¬²éÕÒ”;extension=php_gettext.dll“ £¬È»ºóÈ¥³ý×¢ÊÍ£¬ÖØÆôapache¡£
ÈôÒ»ÇÐ˳Àû£¬¾Í¿ÉÒÔÔÚ phpinfo() Öп´µ½ gettext ×ÖÑù£¬ÖÁ´Ë·þÎñÆ÷»·¾³ÅäÖÃÍê±Ï¡£
²½Öè¶þ£º¼ÙÈçÎÒÃÇÒª·Òëtest.phpÒ³ÃæÀïµÄhello word!Õâ¾ä»°¡£
±à¼test.php£¬½«Òª·Òë µÄÎÄ×ÖÓÃgettextº¯Êý°üº¬£¬±íʾÕâЩ±»°üº¬µÄÎÄ×ÖÊÇÐèÒªÓÃÀ´·ÒëµÄ¡£
view plain
copy to clipboard
print
?
<?
include_once
(
'inc/setLan.php'
);
$domain
=
'test'
;
bindtextdomain
(
$domain
,
"locale/"
);
//ÉèÖÃij¸öÓòµÄmoÎļþ·¾¶
bind_textdomain_codeset($domain
,
'UTF-8'
);
//ÉèÖÃmoÎļþµÄ±àÂëΪUTF-8
textdomain($domain
);
//ÉèÖÃgettext()º¯Êý´ÓÄĸöÓòÈ¥ÕÒmoÎļþ
?>
<html>
<head>
<meta http-equiv="Content-Type"
&
Ïà¹ØÎĵµ£º
php¶ÔxmlÎļþÖнڵãµÄɾ³ý\±à¼
ʹÓÃgetElementsByTagName()·½·¨É¾³ý\±à¼XML½Úµã
Èý¸öÎļþ£º
1.root.xml
2.remove.php —— ɾ³ý½Úµã
3.replace.php —— Ìæ»»½Úµã
root.xml
<root>
<child1>child1 content</child1>
<child2>child2 content</child2>
& ......
PHP ÖÐÓÉÓÚÊý×éºÍ×Ö·û´®ÕâÁ½ÖÖ±äÁ¿ÀàÐÍÊÇÈç´Ë³£Óã¬ÒÔÖÁÓÚ PHP ¾ßÓÐÁ½¸öº¯Êý£¬¿ÉÒÔÔÚ×Ö·û´®ºÍÊý×éÖ®¼ä»¥Ïà½øÐÐת»»¡£
¡¡¡¡$array=explode(separator,$string);
¡¡¡¡$string=implode(glue,$array);
¡¡¡¡Ê¹ÓúÍÀí½âÕâÁ½¸öº¯ÊýµÄ¹Ø¼üÖ®´¦ÊÇ·Ö¸ô·û£¨separator£©ºÍ½ººÏ·û£¨glue£©¹Øϵ¡£µ±°ÑÒ»¸öÊý×éת»»³ÉÒ»¸ö×Ö·û´®Ê±£¬½«»áÉ ......
ÔÚphpÖмÆËãʱ¼ä²îÓÐʱºòÊǼþÂé·³µÄÊÂ!²»¹ýÖ»ÒªÄãÕÆÎÕÁËÈÕÆÚʱ¼äº¯ÊýµÄÓ÷¨ÄÇÕâЩҲ¾Í±äµÄ¼òµ¥ÁË:
Ò»¸ö¼òµ¥µÄÀý×Ó¾ÍÊǼÆËã½èÊéµÄÌìÊý,ÕâÐèÒªphp¸ù¾ÝÿÌìµÄÈÕÆÚ½øÐмÆËã,ÏÂÃæ¾ÍÀ´Ì¸Ì¸ÊµÏÖÕâÖÖÈÕÆÚ¼ÆËãµÄ¼¸ÖÖ·½·¨:
(1) Èç¹ûÓÐÊý¾Ý¿â¾ÍºÜÈÝÒ×ÁË!ÈôÊÇMSSQL¿ÉÒÔʹÓô¥·¢Æ÷!ÓÃרÃżÆËãÈÕÆÚ²îµÄº¯Êýdatediff()±ã¿É ......
½â¶ÁPHP DOMDocumentÔÚ½âÎöXMLÎļþÖеÄ×÷ÓÃ
http://developer.51cto.com 2009-12-02 10:39 ØýÃû Áø³Ç²©¿Í ÎÒÒªÆÀÂÛ(0)
PHP DOMDocumentµÄ¹¦Äܷdz£Ç¿´ó£¬ÎÒÃÇÔÚÕâƪÎÄÕÂÖн«½éÉÜÈçºÎÕýÈ·µÄÔËÓÃPHP DOMDocumentÀ´½øÐÐXMLÎļþµÄ½âÎö¡£Ï£Íû¶ÔÓÖÐèÒªµÄÅóÓÑÓÐËù°ïÖú¡£
ÔÚʹÓÃPHP¶ÔXMLÎļþ½øÐнâÎöµÄʱ ......
<!-- xml¸ñʽ
<foo xmlns="test">
<bar attr='a'></bar>
<bar attr='b'></bar>
<bar attr='c'></bar>
</foo>
-->
<?php
$dom = new DOMDocument();
if (!$dom->load('attr.xml'))
{
echo "load books.xml failed!<br>";
re ......