php提取网页超链接,php 超链接

本文目录一览:

怎样用PHP实现超链接?

用户点击超链接可以做的有几种:

1、跳转到新页面,此时由于又发出了新的请求,所以会由服务器进行处理。但无法判断是用户点击了超链接,因为用户可直接通过地址栏输入跳转的地址。

2、运行JavaScript,JavaScript是客户端脚本,与PHP无关。可以通过Ajax动态加载数据,但并不是PHP点击链接后引用文件。两者是截然不同的两个概念。

超级链接

超级链接简单来讲,就是指按内容链接。

php 截取一个网页的所有超链接的代码 急急

?php

header(“Content-type: text/html; charset=utf-8”);

if(!empty($_POST[‘input_text’])) {

ini_set(‘default_socket_timeout’, 60); //php file_get_contents超时控制

if(!$data = file_get_contents($_POST[‘input_text’])) {

echo “Time out!”;

return false;

}else{

$charset_pos = stripos($data,’charset’);

if($charset_pos) { //页面数据编码格式转换

if(stripos($data,’utf-8′,$charset_pos)) {

$data = iconv(‘utf-8′,’utf-8’,$data);

}else if(stripos($data,’gb2312′,$charset_pos)) {

$data = iconv(‘gb2312′,’utf-8’,$data);

}else if(stripos($data,’gbk’,$charset_pos)) {

$data = iconv(‘gbk’,’utf-8′,$data);

}

}

}

//获取超链接核心代码

$pattern = ‘/a(.*?)href=”((http(s?):\/\/)?([^\”]+))”([^]*?)([^]*?)\/a/i’;

preg_match_all($pattern, $data, $links);

$links[2]为全部链接。

$br = 5;

echo “tabletr”;

//$links[2]为所有超链接组成的数组。

foreach($links[0] as $count = $link){

if($count!=0 $count%$br == 0) echo “/trtr”;

echo “td”.$link.”/td”;

}

echo “/tr/table”;

die;

}else {

?

html

head

titleGet Web Page/title

meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /

meta http-equiv=”Content-Language” content=”zh-CN” /

script type=”text/javascript”

function createXMLHTTP()

{

try

{

var request = new XMLHttpRequest();

}

catch(e1)

{

var arrVersions = [“Microsoft.XMLHTTP”,”MSXML2.XMLHttp.4.0″,

“MSXML2.XMLHttp.3.0″,”MSXML2.XMLHttp.5.0”];

for(var i=0;i arrVersions.length;i++){

try{

request = new ActiveXObject(arrVersions[i]);

}catch(e2){

request = false;

}

}

}

return request;

}

function ajax_post(url, params, target_id)

{

request = new createXMLHTTP();

request.onreadystatechange = function() {

if (this.readyState == 4)

if (this.status == 200)

if (this.responseText != null)

document.getElementById(target_id).innerHTML = this.responseText;

}

request.open(“POST”, url, true);

request.setRequestHeader(“Content-type”, “application/x-www-form-urlencoded”);

request.setRequestHeader(“Content-length”, params.length);

request.setRequestHeader(“Connection”, “close”);

request.send(params);

}

var checked = false;

function check_(value) {

checked = value;

}

function get_key(event) {

event = event || window.event;

if(event.keyCode==13 checked != false)

{

var url = document.getElementById(‘input_text’).value;

if(url != ”) {

get_page();

}else {

document.getElementById(‘input_text’).onfocus();

return false;

}

}

}

function get_page() {

var url = document.getElementById(‘input_text’).value;

if(!url) {

return false;

}else {

if(document.getElementById(‘output_page’).innerHTML != ”) {

document.getElementById(‘output_page’).innerHTML = ”;

}

}

if(url.indexOf(‘

url = ‘

}

ajax_post(

‘?php echo $_SERVER[‘PHP_SELF’]; ?’,

‘input_text=’+url,

‘output_page’

);

document.getElementById(‘click_show’).style.display = ‘block’;

document.getElementById(‘back_a’).href = document.location.href;

document.getElementById(‘origin_website’).href = url;

}

/script

style

.div_box{

margin-top:10px;

}

.input_box{

border:1px solid;

margin-left:10px;

margin-top:2px;

height:15px;

float:left;

size:32

font-size: 14px;

}

.button_box{

float:left;

height:23px;

padding-bottom:3px;

}

.hide_box{

display:none;

}

.a_box{

margin-left:10px;

margin-top:3px;

height:15px;

float:left;

font-size: 14px;

}

.clear_box{

height:50px;

}

/style

/head

body onkeydown=”get_key(event)”

div class=”div_box”

input id=”input_text” class=”input_box” type=”text” value=”” onclick=”check_(true)” onblur=”check_(false)”/input

input type=”button” class=”button_box” onclick=”get_page()” value=”Get it!” /input

div id=”click_show” class=”hide_box”

a id=”origin_website” class=”a_box” href=”#” target=”_black”访问原站/a

a id=”back_a” class=”a_box” href=”#”后退/a

/div

/div

div class=”clear_box”/div

div id=”output_page”/div

/body

/html

?php

}

//End_php

php 取出页面中所有的超链接

正则:$pre = “/lispan class=\”txt\”a href=\”(.*?)\” title/”;

每个遍历出来后再加上 。

原创文章,作者:HCZP,如若转载,请注明出处:https://www.506064.com/n/140608.html

(0)
HCZPHCZP
上一篇 2024-10-04
下一篇 2024-10-04

相关推荐

  • 安装编译mysqli后(为什么安装mysql)

    本文目录一览: 1、linux下的php到底是怎么加载mysqli模块的 2、linux 已经编译安装好php,怎么添加mysqli 3、php5.7 编译安装的mysqli怎么卸…

    编程 2024-10-03
  • JS获取对象的长度

    一、获取对象的长度 在JavaScript中,我们可以使用Object类的keys()方法来获取一个对象的所有键名,再使用length属性来获取该对象的长度。 const obj …

    编程 2024-10-10
  • php汉字截取函数(字符串截取php)

    1、php 怎么截取汉字字符串? 2、php截取字符串函数 3、PHP截取字符串长度 ?php  $str = ‘这样一来我的字符串就不会有乱码^_^’; …

    编程 2024-10-03
  • c语言39n字符,c语言输出字符

    本文目录一览: 1、C语言,要输入N个字符串怎么输? 2、C语言中,103表示什么? 3、C语言中‘\n’是什么意思 C语言,要输入N个字符串怎么输? 如果要输入N个不…

    编程 2024-10-03
  • 提高移动应用性能的几种方法

    一、设计可扩展的架构 移动应用的架构设计不仅仅影响应用的可扩展性和可维护性,也会对性能造成直接或间接的影响。要在应用开发的早期阶段考虑应用的架构设计,以满足应用在未来可能面临的新增…

    编程 2024-10-04
  • html免php上传代码,php 上传

    本文目录一览: 1、怎么通过HTML+PHP上传文件到服务器? 2、html上传文件代码 3、求html多文件上传代码 可参考以下代码 4、写一个html+php代码,实现客户基本…

    编程 2024-10-04
  • Python代码实现行分割

    一、功能介绍 行分割是指将一行文本按照特定字符进行分割的操作,通常用于文本数据的处理。而Python是一门出色的文本处理语言,可以轻易实现行分割的操作。Python为行分割提供了多…

    编程 2024-10-04
  • js之常用代码块(js代码是什么)

    本文目录一览: 1、js使用java代码块 2、javascript 语句、代码、代码块 3、js中单击按钮实现代码块功能 4、js中怎么截取不确定长度的字符串,截取后保留后面的部…

    编程 2024-10-03
  • java开发常用工具总结,Java开发常用工具

    本文目录一览: 1、目前最常用的Java开发工具有哪些 2、java学习中用到的开发工具都有哪些?有什么优缺点? 3、Java语言中有哪些必备的开发工具? 4、Java的常用开发工…

    编程 2024-10-04
  • WebDAV 协议详解

    一、WebDAV 定义及用途 WebDAV(Web Distributed Authoring and Versioning,Web 分布式创作和版本控制)是 IETF 提出的一种…

    编程 2024-10-03

发表回复

登录后才能评论