PureUse PHP and regul expression to train your hands.
:
What an ugly word!
Code:
//// List. php
<HTML> <br/> <pead> <br/> <meta http-equiv = Content-Type content = "text/html; charset = UTF-8 "> <br/> <title> for list csdn blog entry </title> <br/> </pead> <br/> <H1 align =" center"> <br/> csdn blog entry list <br/> </p> <br/> <form method = "get" Action = "get_csdnblog.php"> <br/> <br /> <br/> <Table cellspacing = 0 cellpadding = 0 width = 400 align = "center"> <br/> <tr> <br/> <TD align = "center"> <input maxlength = 256 size = 50 name = "blogname" type = "text" value = "yysdsyl "> <br/> <input type = submit value =" list "> </TD> <br/> </tr> <br/> </table> <br/> </form> <br/> </body> <br/> </ptml>
//// // Get_csdnblog.php
<? Php <br/> set_time_limit (0); <br/> header ("Content-Type: text/html; charset = UTF-8 "); <br/> // get URL source file <br/> function get_url_content ($ URL) <br/>{< br/> If (extension_loaded ('curl ')) <br/>{< br/> $ CH = curl_init ($ URL); <br/> curl_setopt ($ ch, curlopt_header, 0 ); <br/> curl_setopt ($ ch, curlopt_returntransfer, 1); <br/> $ content = curl_exec ($ ch); <br/> curl_close ($ ch ); <br/>}< br/> else <br/> {<Br/> $ content = file_get_contents ($ URL); <br/>}< br/>! $ Content & Die ("get $ URL content error. "); <br/> return $ content; <br/>}</P> <p> /// csdn blog <br/> $ blogname = empty ($ _ post ['blogname'])? $ _ Get ['blogname']: $ _ post ['blogname']; <br/> $ blog_url = "http://blog.csdn.net/#blogname "; <br/> $ blog_content = get_url_content ($ blog_url ); </P> <p> //// blog title <br/> $ reg_pattern = '/<title>/S *(. *)/S * </title>/'; <br/> preg_match ($ reg_pattern, $ blog_content, $ matches); <br/> if ($ matches) <br/>{< br/> $ blog_title = $ matches [1]; <br/> echo "<p> csdn blog: <br/> <a href = "/" mce_href = "/" "$ blog_url/" Ta Rget =/"_ blank/"> $ blog_title </a> </p> "; <br/>}</P> <p> /// Blog Archive by month <br/> $ reg_pattern = '/<li> <A/S + href = "(// [a-zA-Z0-9 _-] + // archive // D +. aspx) "> (/d + year/d + month/(/d +/) </a> </LI> /'; <br/> If (preg_match_all ($ reg_pattern, $ blog_content, $ matches) <br/>{< br/> $ blog_archive = $ matches [1]; <br/> $ blog_yy_mm = $ matches [2]; <br/>}< br/> else <br/> die ("Get Blog Archive error "); </P> <p> $ page = empty ($ _ Get ['page'])? 1: intval ($ _ Get ['page']); </P> <p> // pages <br/> $ COUNT = count ($ blog_archive ); <br/> $ php_self = $ _ server ['php _ Self ']? $ _ Server ['php _ Self ']: $ _ server ['script _ name']; <br/> $ php_self. = '? Blogname = '. $ blogname. '& page ='; <br/> $ page_range = range (1, $ count, 1); <br/> foreach ($ page_range as $ perpage) <br/>{< br/> $ page_title = $ blog_yy_mm [$ perpage-1]; <br/> if ($ perpage = $ page) <br/> echo $ page_title. ""; <br/> else <br/> echo "<a href ="/"mce_href ="/"" {$ php_self} $ perpage/"> $ page_title </a>"; <br/>}< br/> echo "<br/> "; </P> <p> /// list blog entries <br/> $ archive_url = 'HTTP: // blo G.csdn.net '. $ blog_archive [$ page-1]; <br/> $ archive_content = get_url_content ($ archive_url); <br/> $ order = array ("/R/N ", "/N", "/R"); <br/> $ replace = ''; <br/> $ archive_content = str_replace ($ order, $ replace, $ archive_content ); <br/> $ archive_content = str_replace ("read full text", "/N read full text", $ archive_content ); </P> <p> // list blog entry <br/> $ reg_pattern = '/<DIV/S + class =/"user_article">. + <A/S + href =/"(// [a-zA-Z0 -9 _-] + // archive // D/d // D +. aspx)/"> (. +) <// A> <// h1>. +/S + read the full text> </A> </code>. + (/S * posted on @/D: /D/d)/'; <br/> If (preg_match_all ($ reg_pattern, $ archive_content, $ matches )) <br/>{< br/> $ COUNT = count ($ matches [0]); <br/> echo "<Table> "; <br/> for ($ I = 0; $ I <$ count; $ I ++) <br/> echo "<tr> <TD> <a href ="/"mce_href ="/"" http://blog.csdn.net {$ matches [1] [$ I]}/"Target = /"_ Blank/">{$ matches [2] [$ I]} </a> </TD> <TD >{$ matches [3] [$ I]} </TD> </tr> "; <br/> echo "</table>"; <br/>}< br/> else <br/> die ("List entry error "); </P> <p >?>