在剛入手PHP的時候,經理讓我自己做一個文章的管理系統為了方便管理微信端發的消息。除了簡單的添加分類、管理分類、添加文章、管理文章,還有一個功能就是要從微信文章網址中拿到網址上的標題、作者以及發表時間。
一、 頁面使用ajax
把微信頁面的地址放在文章鏈接里,點擊獲取,調用ajax。不說了,直接上代碼
<td>文章鏈接:</td>
<td><input type="text" id="url" name="url" size="50"> <input type="button" value="獲取" onclick="javascript:return getMsg()"/></td>
function getMsg(){ var title=document.getElementById("title"); var url=document.getElementById("url").value; var typeId; var writer=document.getElementById("writer"); var addtime=document.getElementById("addtime"); //alert(url);die;
$.ajax({ url: '/addarticle/getmsg', type: 'POST', dataType:'text', data: 'url='+url, success: function(data) { var str=data; var arr=new Array();//0是標題;1是時間;2是作者
var result=str.split("<<>>"); for(var i=0;i<result.length;i++){ arr.push(result[i]); } title.value=arr[0]; addtime.value=arr[1]; writer.value=arr[2]; //alert(arr[0]);
}, error: function() { alert('請求錯誤'); } }); }
二、在php頁面利用file_get_content函數獲取頁面全部信息
該函數是將頁面中的所有內容寫在字符串中,想要拿到指定的內容,就用到了正則匹配。正則表達式的相關知識就不說了,直接說今天的內容。將結果放在同一個變量中,用特殊符號隔開,以便在視圖頁面進行分割並寫入文本框內。
public function actionGetmsg(){ $result=array(); $url=$_POST["url"]; $wx_content=file_get_contents($url);//利用函數獲得網址的內容
$title_html="/.*?<title>(.*?)<\/title>.*?/";//正則匹配文章的標題
preg_match($title_html, $wx_content, $matchs); echo $matchs[1]."<<>>"; //echo '<pre>';var_dump($matchs);echo '</pre>'; //正則匹配文章的添加時間
$creattime_html="/.*?<em id=\"post-date\" class=\"rich_media_meta rich_media_meta_text\">(.*?)<\/em>.*?/"; preg_match($creattime_html, $wx_content, $matchs); // echo '<pre>';var_dump($matchs);echo '</pre>';
echo $matchs[1]."<<>>"; //正則匹配文章的作者
$wxh_html="/.*?<a class=\"rich_media_meta rich_media_meta_link rich_media_meta_nickname\" href=\"##\" id=\"post-user\">(.*?)<\/a>.*?/"; preg_match($wxh_html, $wx_content, $matchs); // echo '<pre>';var_dump($matchs);echo '</pre>';
echo $matchs[1]."<<>>"; }
三、同時大家可以看到圖片上時間那一欄,可以自己添加
這里使用的是一個小控件,也就是一個js,WdatePicker.js。
首先在頁面的頭部引入js控件,在文本框中寫下以下代碼,點擊文本框就可以看到日歷形式的出現,選擇你需要的日期。
<td><input type="text" name="newsTime" id="addtime" onclick="WdatePicker({dateFmt:'yyyy:MM:dd HH:mm:ss'})" placeholder="請輸入文章發布時間" /> </td>
具體的WdatePicker.js可以在網上找一個。
不說了,繼續學習去了。真的是像魔飛公寓廣告似得,上班被老板懟,下班被房東坑。年輕人就是這“慫”樣,哈哈。知識多了,也自然而然的不會被K了,要成為讓自己自豪的人,加油吧菇涼.....