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/zh-hant/n/140608.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
HCZP的頭像HCZP
上一篇 2024-10-04 00:24
下一篇 2024-10-04 00:24

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • python爬取網頁並生成表格

    本文將從以下幾個方面詳細介紹如何使用Python爬取網頁數據並生成表格: 一、獲取網頁數據 獲取網頁數據的一般思路是通過HTTP請求獲取網頁內容,最常用的方式是使用Python庫r…

    編程 2025-04-28
  • 網頁防篡改的重要性和市場佔有率

    網頁防篡改對於保護網站安全和用戶利益至關重要,而市場上針對網頁防篡改的產品和服務也呈現出不斷增長的趨勢。 一、市場佔有率 據不完全統計,目前全球各類網頁防篡改產品和服務的市場規模已…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python編程實戰:用Python做網頁與HTML

    Python語言是一種被廣泛應用的高級編程語言,也是一種非常適合於開發網頁和處理HTML的語言。在本文中,我們將從多個方面介紹如何用Python來編寫網頁和處理HTML。 一、Py…

    編程 2025-04-28
  • Python爬取網頁信息

    本文將從多個方面對Python爬取網頁信息做詳細的闡述。 一、爬蟲介紹 爬蟲是一種自動化程序,可以模擬人對網頁進行訪問獲取信息的行為。通過編寫代碼,我們可以指定要獲取的信息,將其從…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • 使用Python轉髮網頁內容

    Python是一種廣泛使用的編程語言,它在網絡爬蟲、數據分析、人工智能等領域都有廣泛的應用。其中,使用Python轉髮網頁內容也是一個常見的應用場景。在本文中,我們將從多個方面詳細…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27

發表回復

登錄後才能評論