PHP获取微信页面的指定内容


       在刚入手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){
                    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>.*?/";<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">正则匹配文章的标题</span>
        <span style="color: rgba(0, 128, 128, 1)">preg_match</span>(<span style="color: rgba(128, 0, 128, 1)">$title_html</span>, <span style="color: rgba(128, 0, 128, 1)">$wx_content</span>, <span style="color: rgba(128, 0, 128, 1)">$matchs</span><span style="color: rgba(0, 0, 0, 1)">);
        </span><span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 128, 1)">$matchs</span>[1]."<<>>"<span style="color: rgba(0, 0, 0, 1)">;
        </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">echo '<pre>';var_dump($matchs);echo '</pre>';

        //正则匹配文章的添加时间</span>
        <span style="color: rgba(128, 0, 128, 1)">$creattime_html</span>="/.*?<em id=\"post-date\" class=\"rich_media_meta rich_media_meta_text\">(.*?)<\/em>.*?/"<span style="color: rgba(0, 0, 0, 1)">;
        </span><span style="color: rgba(0, 128, 128, 1)">preg_match</span>(<span style="color: rgba(128, 0, 128, 1)">$creattime_html</span>, <span style="color: rgba(128, 0, 128, 1)">$wx_content</span>, <span style="color: rgba(128, 0, 128, 1)">$matchs</span><span style="color: rgba(0, 0, 0, 1)">);
       </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> echo '<pre>';var_dump($matchs);echo '</pre>';</span>
        <span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 128, 1)">$matchs</span>[1]."<<>>"<span style="color: rgba(0, 0, 0, 1)">;
        
        </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">正则匹配文章的作者</span>
        <span style="color: rgba(128, 0, 128, 1)">$wxh_html</span>="/.*?<a class=\"rich_media_meta rich_media_meta_link rich_media_meta_nickname\" href=\"##\" id=\"post-user\">(.*?)<\/a>.*?/"<span style="color: rgba(0, 0, 0, 1)">;
        </span><span style="color: rgba(0, 128, 128, 1)">preg_match</span>(<span style="color: rgba(128, 0, 128, 1)">$wxh_html</span>, <span style="color: rgba(128, 0, 128, 1)">$wx_content</span>, <span style="color: rgba(128, 0, 128, 1)">$matchs</span><span style="color: rgba(0, 0, 0, 1)">);
       </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> echo '<pre>';var_dump($matchs);echo '</pre>';</span>
        <span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 128, 1)">$matchs</span>[1]."<<>>"<span style="color: rgba(0, 0, 0, 1)">;
    }</span></span></pre>

<p><span style="font-family: "Microsoft YaHei"">  <span style="font-size: 14pt"><strong>三、同时大家可以看到图片上时间那一栏,可以自己添加</strong></span></span></p>
<p><span style="font-family: "Microsoft YaHei"">         <span style="font-size: 15px">这里使用的是一个小控件,也就是一个js,WdatePicker.js。</span></span></p>
<p><span style="font-family: "Microsoft YaHei"; font-size: 15px">         首先在页面的头部引入js控件,在文本框中写下以下代码,点击文本框就可以看到日历形式的出现,选择你需要的日期。</span></p>

<pre><span style="font-family: "Microsoft YaHei""><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">><</span><span style="color: rgba(128, 0, 0, 1)">input </span><span style="color: rgba(255, 0, 0, 1)">type</span><span style="color: rgba(0, 0, 255, 1)">="text"</span><span style="color: rgba(255, 0, 0, 1)"> name</span><span style="color: rgba(0, 0, 255, 1)">="newsTime"</span><span style="color: rgba(255, 0, 0, 1)"> id</span><span style="color: rgba(0, 0, 255, 1)">="addtime"</span><span style="color: rgba(255, 0, 0, 1)"> onclick</span><span style="color: rgba(0, 0, 255, 1)">="WdatePicker({dateFmt:'yyyy:MM:dd HH:mm:ss'})"</span><span style="color: rgba(255, 0, 0, 1)">   placeholder</span><span style="color: rgba(0, 0, 255, 1)">="请输入文章发布时间"</span> <span style="color: rgba(0, 0, 255, 1)">/></span><span style="color: rgba(255, 0, 0, 1)"> </span><span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">td</span><span style="color: rgba(0, 0, 255, 1)">></span></span></pre>

<p><span style="font-family: "Microsoft YaHei""></span></p>
<p><span style="font-family: "Microsoft YaHei"">         具体的WdatePicker.js可以在网上找一个。</span></p>

<p><span style="font-family: "Microsoft YaHei"; background-color: rgba(255, 153, 204, 1)"> 不说了,继续学习去了。真的是像魔飞公寓广告似得,上班被老板怼,下班被房东坑。年轻人就是这“怂”样,哈哈。知识多了,也自然而然的不会被K了,要成为让自己自豪的人,加油吧菇凉.....</span></p>
<p><span style="font-family: "Microsoft YaHei"">       </span></p>
						  
					  </div>
						<!--conend-->
							<div class="p-2"></div>

						<div class="arcinfo my-3 fs-7 text-center">
							
							
			<a href='/t/etagid2982-0.html' class='tagbtn' target='_blank'>小功能</a>							
						



						</div>
						
						<div class="p-2"></div>

						

						
					</div>
					<div class="p-2"></div>
					<!--xg-->
					<div class="lbox p-4 shadow-sm rounded-3">
						<div class="boxtitle"><h2 class="fs-4">相关</h2></div>
						
<hr>				
						
			<div class="row g-0 py-2 border-bottom align-items-center">
																
								<div class="col-7 col-lg-11 border-lg-end">
										<h3 class="fs-6 mb-0 mb-lg-2"><a href="/a/1-501873.html">批处理-日常小功能用法记录</a></h3>
									
									<div class="ltag fs-8 d-none d-lg-block">
								 

        </div>
								</div>
							
							</div>            
            
            <!---->
                                    
           <!---->
  			
						

					</div>
					<!--xgend-->
				</div>

				<div class="col-lg-3 col-12 p-0 ps-lg-2">
					<!--box-->									
					<!--boxend-->
					<!--<div class="p-2"></div>-->

					<!--box-->
									<div class="lbox p-4 shadow-sm rounded-3">
					
									   <div class="boxtitle pb-2"><h2 class="fs-4"><a href="#">标签</a></h2></div>
										<div class="clearfix"></div>
										<ul class="m-0 p-0 fs-7 r-tag">
										</ul>
									

										
										<div class="clearfix"></div>
									</div>
					<!--box end-->

					
				</div>

			</div>
		
		
		
		</div>	

</main>
						<div class="p-2"></div>
<footer>
<div class="container-fluid p-0 bg-black">
	<div class="container p-0  fs-8">
	<p class="text-center m-0 py-2 text-white-50">一品网 <a class="text-white-50" href="https://beian.miit.gov.cn/" target="_blank">冀ICP备14022925号-6</a></p>
	</div>	
</div>
<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?6e3dd49b5f14d985cc4c6bdb9248f52b";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>
</footer>
		
<script src="/skin/bootstrap.bundle.js"></script>

</body>
</html>