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<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了,要成为让自己自豪的人,加油吧菇凉.....
PHP获取指定页面的指定内容的更多相关文章
- javascript获取iframe框架中页面document对象,获取子页面里面的内容,iframe获取父页面的元素,
javascript获取iframe框架中,加载的页面document对象 因为浏览器安全限制,对跨域访问的页面,其document对象无法读取.设置属性 function getDocument(i ...
- Jquery 获取父页面下指定iframe里的指定元素
var div1=$("#iframe1",window.parent.document).contents().find("#div1");
- 获取当前页面url指定参数值
function getParam(paramName) { paramValue = "", isFound = !1; if (this.location.search.ind ...
- 获取小众ftp服务器指定目录内容列表
今天获取小众ftp服务器指定目录内容列表时费劲急了. ///parama url="ftp://x.x.x.x/dir_name" public string GetFTPDir( ...
- iOS点击推送消息跳到应用指定页面
现在的推送用的越来越频繁,几乎每个应用都开始用到了.其实又有几个用户会去看推送消息呢?没办法,产品经理最大啊,只是苦了我们这一帮程序员啊!闲话少说,进入正题.兄弟我用的是极光推送,自然是以极光推送为例 ...
- 利用Chrome插件向指定页面植入js,劫持 XSS
资源来自:http://www.2cto.com/Article/201307/225986.html 首页 > 安全 > 网站安全 > 正文 利用Chrome插件向指定页面植入js ...
- 利用 Python + Selenium 实现对页面的指定元素截图(可截长图元素)
对WebElement截图 WebDriver.Chrome自带的方法只能对当前窗口截屏,且不能指定特定元素.若是需要截取特定元素或是窗口超过了一屏,就只能另辟蹊径了. WebDriver.Phant ...
- Android 网页打开app(或者打开指定页面)并且接收参数
网页打开app 现实描述场景: 1.短信通知中通知内容,比如信息中一个咨询详情,流程步骤,信息中的地址打开的是一个网页,网页打开就指定app或者app中的指定页面 html代码 <html> ...
- 关于WordPress登录后跳转到指定页面
前面在写模版的时候,有朋友要求网站登录后要跳转的到指定的页面.这个从前还真没遇到过.于是就用万能的搜索(很少百度)找了下,方法基本上就是一个,代码如下: <?php // Fields f ...
随机推荐
- 基于Intranet的零件库管理信息系统设计--part01
好吧,临近毕业的我,毕业设计还没开始做呢.时间不等人,再过两个月就要答辩了,我得开始做我的毕设了,虽然我现在还没能力完全把毕设做出来,但总得先迈出第一步吧.今天先做一小部分. 话不多说,先来看我得毕业 ...
- Dreamweaver如何开启代码错误提示,报错代码。
DW的代码错误即无效提示功能设置:在DW代码窗口左面有一列很小的功能按钮,在其中寻找"高亮显示无效代码",选中之后就可以看到无效的代码会被添加背景色,会让你容易辨识.改正后背景色会 ...
- Android布局优化之层级优化
程序的每个组件和 Layout 都需要经过初始化.布局和绘制,如果布局嵌套层次过深,就会导致加载操作更为耗时,更严重的话还可能导致内存溢出.本节我们学习使用两个工具来检查和优化 Layout. Hie ...
- elasticsearch使用river同步mysql数据
====== mysql的river介绍====== - 什么是river?river代表es的一个数据源,也是其它存储方式(如:数据库)同步数据到es的一个方法.它是以插件方式存在的一个e ...
- div的优缺点
div+css优缺点 产生背景 HTML语言自HTML4.01以来,不再发布新版本,原因就在于HTML语言正变得越来越复杂化.专用化.即标记越来越多,甚至各个浏览器生产商也开发出只适合于其特定浏览 ...
- JDK中日期和时间的几个常用类浅析(四)
java.time.Instant java.time.Instant类对应的是时间线上的一个时间点.该类通过保存着从格林威治的起始时间(1970年一月一日零点零分)开始计算所经过的纳妙数来表示时 ...
- .NET Core开源组件:后台任务利器之Hangfire
一.简述 Hangfire作为一款高人气且容易上手的分布式后台执行服务,支持多种数据库.在.net core的环境中,由Core自带的DI管理着生命周期,免去了在NF4.X环境中配置always ru ...
- CF615D Multipliers [数学]
tags:[计数原理][乘法逆元][归纳の思想]题解(复杂度:O(mlogm)):棘手之处:n的约数多到爆炸.因此我们不妨从因子的角度来分析问题.对n分解质因数得:n = p1^a1 * p2^a2 ...
- 动态代理的两种实现方式(JDK/Cglib)
=========================================== 原文链接: 动态代理的两种实现方式(JDK/Cglib) 转载请注明出处! ================== ...
- jquery treeTable插件使用细则
简介 treeTable是跨浏览器.性能很高的jquery的树表组件,它使用非常简单,只需要引用jquery库和一个js文件,接口也很简单. 优点 兼容主流浏览器: 支持IE6和IE6+, Firef ...