1 2 3 4 5 6 7 |
$text=preg_replace('#\s+#',' ',$text);//将字符串中多个连续空格替换为一个空格 $text=str_replace('@jiutian_bot','',$text);//替换掉群组中的@jiutian_bot $keywords=explode(" ",$text); //字符串分割成数组 date_default_timezone_set('Asia/Shanghai'); //设置时区: preg_match('|(\d+){10,}|',$s,$arry);//匹配10位以上数字,返回数组 preg_replace('/\D/s', '', $str);//提取字符串中的数字 $length=strlen($gid);//计算字符串长度 |
1 2 3 4 5 6 |
function get_times()//获取当前时间包含毫秒 { list($usec, $sec) = explode(" ", microtime()); $msec=round($usec*1000); return date("YmdHis",time()).$msec; } |
1 2 3 4 5 6 7 8 |
function mlexits($titlename)//判断文件夹是否存在,如果不存在则创建 { $dir = iconv("UTF-8", "GBK",$titlename); if (!file_exists($dir)) { mkdir ($dir,0777,true); } } |
1 2 3 4 |
function get_extenctions($file)//获取文件扩展名 { return pathinfo($file, PATHINFO_EXTENSION); } |
1 2 3 4 |
function get_filename($file)//获取文件名 { return basename($file,'.'.get_extenctions($file)); } |
1 2 3 4 |
function get_dirname($file)//获取文件目录 { return pathinfo($file,PATHINFO_DIRNAME); } |
1 2 3 4 |
function get_number($str)//提取数字 { return preg_replace('/\D/s', '', $str); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
function dl_file($file_url,$save_to)//下载文件 { $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch,CURLOPT_URL,$file_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //curl_setopt($ch,CURLOPT_REFERER,'https://www.mzitu.com');//伪装来源 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); $file_content = curl_exec($ch); curl_close($ch); $downloaded_file = fopen($save_to, 'w'); fwrite($downloaded_file, $file_content); fclose($downloaded_file); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
//获取网页内容 function get_html($myurl) { // 初始化一个 cURL 对象 $curl = curl_init(); // 设置你需要抓取的URL curl_setopt($curl, CURLOPT_URL, $myurl); curl_setopt($curl, CURLOPT_USERAGENT, 'Opera/9.27 (Windows NT 5.2; U; zh-cn)'); curl_setopt($curl,CURLOPT_REFERER,$myurl);//伪装来源 curl_setopt($curl, CURLOPT_HEADER,0); // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//// 跳过证书检查 //curl_setopt($curl, CURLOPT_TIMEOUT,60);//请求超时60s //curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);//301跳转 if(strstr($myurl,'mzitu.com')) { curl_setopt($curl, CURLOPT_ENCODING, 'gzip'); } //带Cookie访问 //curl_setopt($ch, CURLOPT_COOKIEJAR, '__cfduid=d4151552a314ced5352f6243bdef574001462241419; 227c9_lastfid=0; 227c9_lastvisit=0%091463097932%09%2Findex.php%3Fu%3D296710%26vcencode%3D0979146329; CNZZDATA950900=cnzz_eid%3D1740466726-1462239765-%26ntime%3D1463173270'); // 运行cURL,请求网页 $data = curl_exec($curl); //转换编码 $html=mb_convert_encoding($data, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5'); // 关闭URL请求 curl_close($curl); return $html; } |
Curl模拟POST提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
function do_post($url, $param) { $ch = curl_init();//初始化curl //$this_header = array("Content-Type: application/json");//指定Header curl_setopt($ch, CURLOPT_URL,$url);//抓取指定网页 //curl_setopt($ch, CURLOPT_HEADER,$this_header);//带Header发送 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//执行后直接打印出来,方便调试 curl_setopt($ch, CURLOPT_POST, 1);//post提交方式 curl_setopt($ch, CURLOPT_POSTFIELDS, $param); curl_setopt($ch, CURLOPT_TIMEOUT,10);//请求超时10s curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// 跳过证书检查 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);// 不从证书中检查SSL加密算法是否存在 $data = curl_exec($ch);//运行curl curl_close($ch); return $data; } |
操作数据库函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function sql_help($action,$sql) { $conn = mysqli_connect('127.0.0.1', 'root', 'root','mysql') or die("Connection failed: " . mysqli_connect_error());//连接数据库 if($action='write') { mysqli_query($conn,$sql); } if($action='read') { $res=mysqli_query($conn,$sql); return $res; } mysqli_close($conn); } |
截取两个字符串之间的字符串
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
function getSubstr($str, $leftStr, $rightStr) { if($leftStr<>null && $rightStr<>null){ $left = strpos($str, $leftStr); $right = strpos($str, $rightStr,$left+strlen($left)); if($left < 0 or $right < $left){ return ''; } return substr($str, $left + strlen($leftStr),$right-$left-strlen($leftStr)); }else{ $str2=$str; if($leftStr<>null){ $str2=str_replace($leftStr,'',$str2); } if($rightStr<>null){ $str2=str_replace($rightStr,'',$str2); } return $str2; } } |
获取网址中的日期
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
function get_urltime($url) { //$url = "http://example.com/news/2023/03/15/article.html"; // 解析URL路径来获取路径字符串 $path = parse_url($url, PHP_URL_PATH); // 正则表达式匹配日期格式(YYYY/MM/DD) // 您可以根据需要调整正则表达式 $pattern = '~/\d{4}/\d{2}/\d{2}/~'; preg_match($pattern, $path, $matches); if ($matches) { // 假设日期总是以 YYYY/MM/DD 格式出现 $dateString = str_replace('/', '-', $matches[0]); $dateString = substr($dateString,1,10); // 移除前面的 '/' return $dateString; } else { return null; } } |
发表评论
要发表评论,您必须先登录。