php 利用飞信给自己发送天气预报短信(刚刚写完,实测百分百有效)
利用飞信给自己发送天气预报短信(刚刚写完,实测百分百有效) 利用飞信给自己发送天气预报短信(刚刚写完,实测百分百有效)飞信类大家子网上收很多的新手写的代码,不喜误喷[代码片段
利用飞信给自己发送天气预报短信(刚刚写完,实测百分百有效)
飞信类大家子网上收很多的
新手写的代码,不喜误喷
<?php
//采集反应时间设置
set_time_limit(0);
//天气预报采集目标网址 杭州天气预报
$url = 'http://www.weather.com.cn/weather/101210101.shtml';
//实例化采集机器
$gather = new gather();
//获取目标网址HTML
$html = $gather->geturlfile($url);
//获取内容
$start = '<div class="weatherYubaoBox">';
$end = '<div id="weatherYubao2" class="weatherYubao">';
$content = $gather->get_sub_content($html, $start, $end);
$text = substr(SpHtml2Text($content), 42);
//载入飞信类(类自己到网上搜)
require './lib/PHPFetion.php';
// 手机号、飞信密码
$fetion = new PHPFetion('xxxxxxxxxxx', 'xxxxxxxx');
//发送的号码,与天气预报信息
$fetion->send('18758056856', $text);
echo 'ok!发送成功!';
/**
* 采集类
*/
class gather {
public $pagestring = '';
private $db;
function __construct() {
global $db;
$this->db = $db;
}
function geturlfile($url) {
$url = trim($url);
$content = '';
if (extension_loaded('curl')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$content = curl_exec($ch);
curl_close($ch);
} else {
$content = file_get_contents($url);
}
return trim($content);
}
function s($code) {
preg_match_all('/<a.+?href=["|\\']?([^>"\\' ]+)["|\\']?\\s*[^>]*>([^>]+)<\\/a>/is', $code, $arr);
return array('name' => $arr[2], 'url' => $arr[1]);
}
function get_sub_content($str, $start, $end) {
$start = trim($start);
$end = trim($end);
if ($start == '' || $end == '') {
return $str;
}
$str = explode($start, $str);
$str = explode($end, $str[1]);
return $str[0];
}
function vd($var) {
echo "<div style=\\"border:1px solid #ddd;background:#F7F7F7;padding:5px 10px;\\">\\r\\n";
echo "<pre style=\\"font-family:Arial,Vrinda;font-size:14px;\\">\\r\\n";
var_dump($var);
echo "\\r\\n</pre>\\r\\n";
echo "</div>";
}
}
//html转text
function SpHtml2Text($str)
{
$str = preg_replace("/<sty(.*)\\/style>|<scr(.*)\\/script>|<!--(.*)-->/isU","",$str);
$alltext = "";
$start = 1;
for($i=0;$i<strlen($str);$i++)
{
if($start==0 && $str[$i]==">")
{
$start = 1;
}
else if($start==1)
{
if($str[$i]=="<")
{
$start = 0;
$alltext .= " ";
}
else if(ord($str[$i])>31)
{
$alltext .= $str[$i];
}
}
}
$alltext = str_replace(" "," ",$alltext);
$alltext = preg_replace("/&([^;&]*)(;|&)/","",$alltext);
$alltext = preg_replace("/[ ]+/s"," ",$alltext);
return $alltext;
}
?>
//该片段来自于http://outofmemory.cn
- 上一篇:php 正则验证输入方法集合,带有防注入性质
- 下一篇:php 一个漂亮的验证码
精彩图集
精彩文章






