Php url生成,php怎么自动将url生成链接并提取title
发布日期:2021-06-24 19:28:18 浏览次数:6 分类:技术文章

本文共 1266 字,大约阅读时间需要 4 分钟。

php自动将url生成链接并提取title的方法:首先用jQuery进行URL合法性检查,接着异步提交给PHP;然后用Curl获取URL的内容;最后用PHP将获取的Title或出错信息,返回给前端jQuery即可。

85794fc8a354be5af968b475359de214.png

php怎么实现自动将url生成链接并提取title?

具体问题:

php 自动将url生成链接,然后提取title

输入的如果是url能够自动生成链接,让后会抓取这个链接的title显示。有什么好的方法吗?

用php或js都行。

方法回答:

1 用户输入的URL在前端用jQuery进行简单的URL合法性检查后,异步提交给PHP

2 PHP检测URL是否合法,用Curl进行获取URL的内容

3 PHP把的获取Title或出错信息,返回给前端jQuery.<?php

//文件编码为UTF-8(无BOM)

error_reporting(E_ALL || E_STRICT);

$url = 'http://q我q.com';

//首先判断用户输入的URL是否合法

if (!filter_var($url, FILTER_VALIDATE_URL)) {

die('你输入的不是一个正常的URL.');

}

$ch = curl_init();

curl_setopt_array($ch, array(

CURLOPT_HEADER => false,

CURLOPT_URL => $url,

//考虑到有些网站是301跳转的.

CURLOPT_FOLLOWLOCATION => true,

//连接的超时时间设置为5秒

CURLOPT_CONNECTTIMEOUT => 5,

//响应超时时间为5秒

CURLOPT_TIMEOUT => 5,

CURLOPT_VERBOSE => false,

CURLOPT_AUTOREFERER => true,

//接收所有的编码

CURLOPT_ENCODING => '',

//返回页面内容

CURLOPT_RETURNTRANSFER => true,

));

$response = curl_exec($ch);

//检测网页的编码,把非UTF-8编码的页面,统一转换为UTF-8处理.

if ('UTF-8' !== ($encoding = mb_detect_encoding($response, array('UTF-8', 'CP936', 'ASCII')))) {

$response = mb_convert_encoding($response, 'UTF-8', $encoding);

}

//匹配一下title

$title = '没有成功获取到标题';

if (preg_match('#

(.*)#isU', $response, $match)) {

$title = $match[1];

}

echo $title;

更多相关技术文章,请访问PHP中文网!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

转载地址:https://blog.csdn.net/weixin_34262786/article/details/115149599 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:php上传生成图片,php 上传图片自动生成缩略图
下一篇:drawroundrect java_View绘制流程之Canvas(一)

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月06日 07时46分45秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【大话Java面试】-如何通俗易懂的理解Java异常以及Java异常处理? 2019-04-26
【大话Mysql面试】-Mysql的索引为什么要使用B+树,而不是B树,红黑树等之类? 2019-04-26
【大话Mysql面试】-如何通俗易懂的了解Mysql的索引最左前缀匹配原则 2019-04-26
【大话Mysql面试】-MYSQL的两种存储引擎MyISAM与InnoDB的区别是什么? 2019-04-26
【大话Mysql面试】-InnoDB可重复读隔离级别下如何避免幻读?MVCC和next-key是什么 2019-04-26
【大话Mysql面试】-Mysql如何恢复数据?如何进行主从复制?Binlog日志到底是什么? 2019-04-26
理解String.intern()和String类常量池疑难解析例子 2019-04-26
python flask打造前后端分离的口罩检测 2019-04-26
【大话Mysql面试】-MySQL基础知识 2019-04-26
【大话Mysql面试】-MySQL数据类型有哪些 2019-04-26
【大话Mysql面试】-MySQL数据引擎 2019-04-26
【大话Mysql面试】-常见SQL语句书写 2019-04-26
【大话Mysql面试】-SQL语句优化 2019-04-26
【大话Mysql面试】-Mysql事务以及隔离级别 2019-04-26
【大话Mysql面试】-Mysql索引 2019-04-26
【大话Mysql面试】-Mysql锁 2019-04-26
【大话Mysql面试】-Mysql常见面试题目 2019-04-26
08 【多线程高并发】Java线程间通信的方式 2019-04-26
【数据结构与算法】什么是跳表?通俗易懂来理解跳表 2019-04-26
【数据结构与算法】什么是图?图是什么?快速带你回顾图有关的知识点 2019-04-26