´´½¨ÎĵµÀàÐÍÉùÃ÷
Ò»°ã¶øÑÔ£¬XMLÉùÃ÷·ÅÔÚÎĵµ¶¥²¿¡£ÔÚPHPÖÐÉùÃ÷Ê®·Ö¼òµ¥£ºÖ»ÐèʵÀý»¯Ò»¸öDOMÎĵµÀàµÄ¶ÔÏ󲢸³ÓèËüÒ»¸ö°æ±¾ºÅ¡£²é¿´³ÌÐòÇåµ¥A£º
³ÌÐòÇåµ¥ A
<?php
// create doctype
$dom = new DOMDocument("1.0");
// display document in browser as plain text
// display document in browser as plain text
// for readability purposes
header("Content-Type: text/plain");
// save_and_display tree
echo $dom->saveXML();
?>
Çë×¢ÒâDOMÎĵµ¶ÔÏóµÄsaveXML()·½·¨¡£ÉÔºóÎÒÔÙÏêϸ½éÉÜÕâÒ»·½·¨£¬ÏÖÔÚÄãÖ»ÐèÒª¼òµ¥ÈÏʶµ½ËüÓÃÓÚÊä³öXMLÎĵµµÄµ±Ç°¿ìÕÕµ½Ò»¸öÎļþ»òä¯ÀÀÆ÷¡£ÔÚ±¾Àý£¬ÎªÔöÇ¿¿É¶ÁÐÔ£¬ÎÒÒѾ½«ASCIIÂëÎı¾Ö±½ÓÊä³öÖÁä¯ÀÀÆ÷¡£ÔÚʵ¼ÊÓ¦ÓÃÖУ¬¿É½«ÒÔtext/XMLÍ·Îļþ·¢Ë͵½ä¯ÀÀÆ÷¡£
ÈçÔÚä¯ÀÀÆ÷Öв鿴Êä³ö£¬Äã¿É¿´µ½ÈçÏ´úÂ룺
<?xml version="1.0"?>
Ìí¼ÓÔªËØºÍÎı¾½Úµã
XMLÕæÕýÇ¿´óµÄ¹¦ÄÜÊÇÀ´×ÔÆäÔªËØÓë·â×°µÄÄÚÈÝ¡£ÐÒÔ˵ÄÊÇ£¬Ò»µ©Äã³õʼ»¯DOMÎĵµ£¬ºÜ¶à²Ù×÷±äµÃºÜ¼òµ¥¡£´Ë¹ý³Ì°üº¬ÈçÏÂÁ½²½Ö裺
¶ÔÏëÌí¼ÓµÄÃ¿Ò»ÔªËØ»òÎı¾½Úµã£¬Í¨¹ýÔªËØÃû»òÎı¾ÄÚÈݵ÷ÓÃDOMÎĵµ¶ÔÏóµÄcreateElement()»òcreateTextNode()·½·¨¡£Õ⽫´´½¨¶ÔÓ¦ÓÚÔªËØ» ......
´´½¨ÎĵµÀàÐÍÉùÃ÷
Ò»°ã¶øÑÔ£¬XMLÉùÃ÷·ÅÔÚÎĵµ¶¥²¿¡£ÔÚPHPÖÐÉùÃ÷Ê®·Ö¼òµ¥£ºÖ»ÐèʵÀý»¯Ò»¸öDOMÎĵµÀàµÄ¶ÔÏ󲢸³ÓèËüÒ»¸ö°æ±¾ºÅ¡£²é¿´³ÌÐòÇåµ¥A£º
³ÌÐòÇåµ¥ A
<?php
// create doctype
$dom = new DOMDocument("1.0");
// display document in browser as plain text
// display document in browser as plain text
// for readability purposes
header("Content-Type: text/plain");
// save_and_display tree
echo $dom->saveXML();
?>
Çë×¢ÒâDOMÎĵµ¶ÔÏóµÄsaveXML()·½·¨¡£ÉÔºóÎÒÔÙÏêϸ½éÉÜÕâÒ»·½·¨£¬ÏÖÔÚÄãÖ»ÐèÒª¼òµ¥ÈÏʶµ½ËüÓÃÓÚÊä³öXMLÎĵµµÄµ±Ç°¿ìÕÕµ½Ò»¸öÎļþ»òä¯ÀÀÆ÷¡£ÔÚ±¾Àý£¬ÎªÔöÇ¿¿É¶ÁÐÔ£¬ÎÒÒѾ½«ASCIIÂëÎı¾Ö±½ÓÊä³öÖÁä¯ÀÀÆ÷¡£ÔÚʵ¼ÊÓ¦ÓÃÖУ¬¿É½«ÒÔtext/XMLÍ·Îļþ·¢Ë͵½ä¯ÀÀÆ÷¡£
ÈçÔÚä¯ÀÀÆ÷Öв鿴Êä³ö£¬Äã¿É¿´µ½ÈçÏ´úÂ룺
<?xml version="1.0"?>
Ìí¼ÓÔªËØºÍÎı¾½Úµã
XMLÕæÕýÇ¿´óµÄ¹¦ÄÜÊÇÀ´×ÔÆäÔªËØÓë·â×°µÄÄÚÈÝ¡£ÐÒÔ˵ÄÊÇ£¬Ò»µ©Äã³õʼ»¯DOMÎĵµ£¬ºÜ¶à²Ù×÷±äµÃºÜ¼òµ¥¡£´Ë¹ý³Ì°üº¬ÈçÏÂÁ½²½Ö裺
¶ÔÏëÌí¼ÓµÄÃ¿Ò»ÔªËØ»òÎı¾½Úµã£¬Í¨¹ýÔªËØÃû»òÎı¾ÄÚÈݵ÷ÓÃDOMÎĵµ¶ÔÏóµÄcreateElement()»òcreateTextNode()·½·¨¡£Õ⽫´´½¨¶ÔÓ¦ÓÚÔªËØ» ......
»·¾³Èí¼þ°æ±¾½éÉÜ£º
APACHE 2.0.59
PHP5.2.3
MYSQL5.0.45
GD-2.0.35
Zend Optimizer v3.3.0
µÚÒ»²¿·Ö PHP»·¾³°²×°
ÒÔÏÂÈí¼þµÄ°²×°ÅäÖÃÊÇÔÚlinux/unixÏÂÔËÐл·¾³ÐèÒª°²×°µÄ£¬ÇëÎñ±Ø°´ÕÕÒÔϲ½Öè²Ù×÷°²×°!
×¢Ò⣺ÔÚ°²×°»·¾³²Ù×÷ǰȷ±£ÄãĿǰµÄ·þÎñÆ÷ûÓÐ×°apahce,mysql,phpµÈ web·þÎñ£¬ÒÔÃâ·þÎñ³åÍ»!
Ò»: °²×° MySQL 5.0.45
a) Ìí¼ÓMYSQLÓû§£¬×é
# groupadd mysql
# useradd -g mysql mysql
b) ½â°ü£¬±àÒ룬°²×°
# tar zxvf mysql-5.0.45.tar.gz
# cd mysql-5.0.45
# ./configure --prefix=/usr/local/mysql --with-charset=utf8
--with-extra-charsets=gbk,gb2312 --without-debug //*
±ãÓÚ¹ÜÀíÎÒÃÇÕâ ......
»·¾³Èí¼þ°æ±¾½éÉÜ£º
APACHE 2.0.59
PHP5.2.3
MYSQL5.0.45
GD-2.0.35
Zend Optimizer v3.3.0
µÚÒ»²¿·Ö PHP»·¾³°²×°
ÒÔÏÂÈí¼þµÄ°²×°ÅäÖÃÊÇÔÚlinux/unixÏÂÔËÐл·¾³ÐèÒª°²×°µÄ£¬ÇëÎñ±Ø°´ÕÕÒÔϲ½Öè²Ù×÷°²×°!
×¢Ò⣺ÔÚ°²×°»·¾³²Ù×÷ǰȷ±£ÄãĿǰµÄ·þÎñÆ÷ûÓÐ×°apahce,mysql,phpµÈ web·þÎñ£¬ÒÔÃâ·þÎñ³åÍ»!
Ò»: °²×° MySQL 5.0.45
a) Ìí¼ÓMYSQLÓû§£¬×é
# groupadd mysql
# useradd -g mysql mysql
b) ½â°ü£¬±àÒ룬°²×°
# tar zxvf mysql-5.0.45.tar.gz
# cd mysql-5.0.45
# ./configure --prefix=/usr/local/mysql --with-charset=utf8
--with-extra-charsets=gbk,gb2312 --without-debug //*
±ãÓÚ¹ÜÀíÎÒÃÇÕâ ......
<?php
/********************************************************************
* FileName: class.msn.php
* by changwei, 2010-4-13
* Contact MSN: changwei0112@hotmail.com
* »ñÈ¡MSNºÃÓÑEmailÁбí
*
============================================================
*
* PHPÅäÖû·¾³ÒªÇó
* Ö§³Ösocket¡¢ssl¡¢curl£¬¿ªÆôphp.iniÎļþÖеÄÒÔϵط½
* ;extension=php_sockets.dll
* ;extension=php_curl.dll
* ;extension=php_openssl.dll
*
============================================================
*
* ʹÓ÷½·¨ DEMO
* require('class.msn.php'); //ÒýÓÃMSNºÃÓÑÁбíÀà
* $msn = new MsnFriend();
* $list = $msn->GetList('changwei0112@hotmail.com','123123');
* print_r($list);   ......
CentOSµÄphp°æ±¾Ä¬ÈÏΪ5.1.6£¬È»ºóÔÚ5.2.9°æ±¾Ö®Ç°µÄµÄphp¶¼´æÔÚÒ»¸ö©¶´£¬µ«ÊÇÄ¿Ç°ÍøÉÏºÜ¶àµØ·½¶¼ÎÞ·¨Ê¹ÓÃyum update php*Éý¼¶µ½5.2.9£¬±È½Ï³£¼ûµÄÊÇÉý¼¶µ½5.2.6°æ±¾µÄ£¬¾¹ýËÑË÷¹úÍâ×ÊÁÏ£¬ÏÖÔÚÖÕÓÚÕÒµ½Ò»ÖÖÉý¼¶CentOSµÄphpµ½5.2.9µÄ·½·¨¡£
ÔËÐÐÏÂÃæÃüÁ
# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
# wget http://rpms.famillecollet.com/el5.i386/remi-release-5-7.el5.remi.noarch.rpm
# rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm
È»ºó±à¼/etc/yum.repos.d/remi.repo
#vi /etc/yum.repos.d/remi.repo
ÔÚÕâ¸öÎļþµÄ×îºóÔö¼ÓÒ»ÐУº
priority=1
±£´æÍ˳ö¡£
ʹÓÃÏÂÃæµÄÃüÁî½øÐÐÉý¼¶£¬µ«ÊǾ¹ý²âÊÔ£¬Èç¹ûµ¥¶ÀÉý¼¶php½«Ìáʾʧ°Ü£¬Ö»ÓÐÁ¬Í¬mysqlÒ»ÆðÉý¼¶²Å¿ÉÒÔ£¬ËùÒÔÎÒÃDZØÐëÖ´ÐÐÒÔÏÂÃüÁî²ÅÄÜÉý¼¶phpµ½5.2.9°æ±¾£º
yum --enablerepo=remi update php* mysql* ......
<?php
set_time_limit(0);
$url='http://item.taobao.com/auction/item_detail.htm?xid=0db2&item_num_id=4512430274&cm_cat=50000671&pm2=1';
$ch = curl_init();
$timeout = 10;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$html = curl_exec($ch);
curl_close($ch);
$reg="|ºÃÆÀÂÊ£º[\s\S]*<strong>(\d{0,5}[.]\d{0,5})%</strong>|";
preg_match_all ($reg,
$html,
$out, PREG_PATTERN_ORDER);
/*
foreach ($out as $value){
foreach ($value as $value2){
if(strlen($value2)<20)
echo ($value2."<br>");
}
}
*/
echo $out[1][0];
//ikmb
?>
......
<?php
$s = <<<html
<html>
<head>
<title>nested tag test</title>
<mce:script type="text/javascript"><!--
alert('fdsafdasfasd');
// --></mce:script>
</head>
<body>
<div id=0>
<div id=1><img name="img1" id="img1" src=""/>
<div id=2><img name="img2" id="img2" src=""/>
<div id=3><img name="img3" id="img3" src=""/>
</div>
</div>
</div>
</div>
</body>
</html>
html;
$pattern = "/(".
"<\!\w+(?:\s+[^>]*?)+\s*>|".
"<\w+(?:\s+\w+(?:\s*=\s*(?:\"[^\"]*\"|'[^']*'|[^\"'>\s]+))?)*\s*\/?>|".
"<\/\w+\s*>|".
"<\!--[^-]*-->".
")/";
preg_match_all($pattern, $s, $aMatches, PREG_OFFSET_CAPTURE);
function getMatchTags($s, $arr) {
$sMatchClose = '';
$arrClose = array();
$arrReturn = array();
for($i=0; $ ......
<?php
$s = <<<html
<html>
<head>
<title>nested tag test</title>
<mce:script type="text/javascript"><!--
alert('fdsafdasfasd');
// --></mce:script>
</head>
<body>
<div id=0>
<div id=1><img name="img1" id="img1" src=""/>
<div id=2><img name="img2" id="img2" src=""/>
<div id=3><img name="img3" id="img3" src=""/>
</div>
</div>
</div>
</div>
</body>
</html>
html;
$pattern = "/(".
"<\!\w+(?:\s+[^>]*?)+\s*>|".
"<\w+(?:\s+\w+(?:\s*=\s*(?:\"[^\"]*\"|'[^']*'|[^\"'>\s]+))?)*\s*\/?>|".
"<\/\w+\s*>|".
"<\!--[^-]*-->".
")/";
preg_match_all($pattern, $s, $aMatches, PREG_OFFSET_CAPTURE);
function getMatchTags($s, $arr) {
$sMatchClose = '';
$arrClose = array();
$arrReturn = array();
for($i=0; $ ......