php相關收藏鏈接,php相關收藏鏈接是什麼

本文目錄一覽:

用PHP獲取鏈接及圖片路徑的方法

?php

$str = “This is a test.This is a test.This is a a href=;img src= //atest.This is a test.This is a test.\n” .

    “This is a test.This is a test.a href=;img src= //aThis is a test.This is a test.This is a test.\n” .

    “a href=;img src= //a”;

$regex = ‘/a\s+href=(.*)\s*img\s+src=(.*)\s*\/\/a/’;

$output = array();

if (preg_match_all($regex, $str, $matches) !== false) {

    if (isset($matches[1])  isset($matches[2])) {

        $links = $matches[1];

        $imgs = $matches[2];

        foreach ($links as $key = $link) {

            $img = isset($imgs[$key]) ? $imgs[$key] : ”;

            $output[] = “a href=\”{$link}\”img src=\”{$img}\” //a”;

        }

    }

}

var_dump($output);

請問php文件中如何添加鏈接?

php添加連接和在HTML中添加連接一致,但需要轉換為php方式。示例如下:

?php

//php添加連接示例

echo “a href=’zhidao.baidu.com’百度知道/a”;

?

請問PHP程序網站收藏網站鏈接是怎麼弄的

一、設計搜索表單

在網站的根目錄下建個search.htm,內容如下

以下為引用的內容:

html

head

title搜索表單/title

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

/head

body bgcolor=”#FFFFFF” text=”#000000″

form name=”form1″ method=”post” action=”search.php”

table width=”100%” cellspacing=”0″ cellpadding=”0″

tr

td width=”36%”

div align=”center”

input type=”text” name=”keyword”

/div

/td

td width=”64%”

input type=”submit” name=”Submit” value=”搜索”

/td

/tr

/table

/form

/body

/html

二、搜索程序

再在根目錄下建個search.php 的文件,用來處理search.htm表單傳過來的數據.內容如下

以下為引用的內容:

?php

//獲取搜索關鍵字

$keyword=trim($_POST[“keyword”]);

//檢查是否為空

if($keyword==””){

echo”您要搜索的關鍵字不能為空”;

exit;//結束程序

}

?

這樣如果訪問者輸入的關鍵字為空時,可以做出提示。下面是遍歷所有文件。

我們可以用遞歸的方法遍歷所有的文件,可以用函數opendir,readdir,也可以用PHP Directory的類。我們現在用前者。

以下為引用的內容:

?php

//遍歷所有文件的函數

function listFiles($dir){

$handle=opendir($dir);

while(false!==($file=readdir($handle))){

if($file!=”.”$file!=”..”){

//如果是目錄就繼續搜索

if(is_dir(“$dir/$file”)){

listFiles(“$dir/$file”);

}

else{

//在這裡進行處理

}

}

}

}

?

在紅字的地方我們可以對搜索到的文件進行讀取,處理下面就是讀取文件內容,並檢查內容中是否含有關鍵字$keyword,如果含有就把文件地址賦給一個數組。

以下為引用的內容:

?php

//$dir是搜索的目錄,$keyword是搜索的關鍵字 ,$array是存放的數組

function listFiles($dir,$keyword,$array){

$handle=opendir($dir);

while(false!==($file=readdir($handle))){

if($file!=”.”$file!=”..”){

if(is_dir(“$dir/$file”)){

listFiles(“$dir/$file”,$keyword,$array);

}

else{

//讀取文件內容

$data=fread(fopen(“$dir/$file”,”r”),filesize(“$dir/$file”));

//不搜索自身

if($file!=”search.php”){

//是否匹配

if(eregi(“$keyword”,$data)){

$array[]=”$dir/$file”;

}

}

}

}

}

}

//定義數組$array

$array=array();

//執行函數

listFiles(“.”,”php”,$array);

//打印搜索結果

foreach($array as $value){

echo “$value”.”br “;

}

?

現在把這個結果和開頭的一段程序結合起來,輸入一個關鍵字,然後就會發現你的網站中的相關結果都被搜索出來了。我們現在在把它完善一下。

1、列出內容的標題

以下為引用的內容:

if(eregi(“$keyword”,$data)){

$array[]=”$dir/$file”;

}

改成

if(eregi(“$keyword”,$data)){

if(eregi(“title(.+)/title”,$data,$m)){

$title=$m[“1”];

}

else{

$title=”沒有標題”;

}

$array[]=”$dir/$file $title”;

}

原理就是,如果在文件內容中找到titlexxx/title,那麼就把xxx取出來作為標題,如果找不到那麼就把標題命名未”沒有標題”。

2、只搜索網頁的內容的主題部分。

做網頁時一定會有很多html代碼在裡面,而這些都不是我們想要搜索的,所以要去除它們。我現在用正則表達式和strip_tags的配合,並不能把所有的都去掉。

以下為引用的內容:

$data=fread(fopen(“$dir/$file”,”r”),filesize(“$dir/$file”));

//不搜索自身

if($file!=”search.php”){

//是否匹配

if(eregi(“$keyword”,$data)){

改為

以下為引用的內容:

$data=fread(fopen(“$dir/$file”,”r”),filesize(“$dir/$file”));

if(eregi(“body([^]+)(.+)/body”,$data,$b)){

$body=strip_tags($b[“2”]);

}

else{

$body=strip_tags($data);

}

if($file!=”search.php”){

if(eregi(“$keyword”,$body)){

3、標題上加鏈接

以下為引用的內容:

foreach($array as $value){

echo “$value”.”br “;

}

改成

foreach($array as $value){

//拆開

list($filedir,$title)=split(“[ ]”,$value,”2”);

//輸出

echo “a href=$filedir$value/a”.”br “;

}

4、防止超時

如果文件比較多,那麼防止PHP執行時間超時是必要的。可以在文件頭加上

以下為引用的內容:

set_time_limit(“600”);

以秒為單位,所以上面是設10分鐘為限。

所以完整的程序就是

以下為引用的內容:

?php

set_time_limit(“600”);

//獲取搜索關鍵字

$keyword=trim($_POST[“keyword”]);

//檢查是否為空

if($keyword==””){

echo”您要搜索的關鍵字不能為空”;

exit;//結束程序

}

function listFiles($dir,$keyword,$array){

$handle=opendir($dir);

while(false!==($file=readdir($handle))){

if($file!=”.”$file!=”..”){

if(is_dir(“$dir/$file”)){

listFiles(“$dir/$file”,$keyword,$array);

}

else{

$data=fread(fopen(“$dir/$file”,”r”),filesize(“$dir/$file”));

if(eregi(“body([^]+)(.+)/body”,$data,$b)){

$body=strip_tags($b[“2”]);

}

else{

$body=strip_tags($data);

}

if($file!=”search.php”){

if(eregi(“$keyword”,$body)){

if(eregi(“title(.+)/title”,$data,$m)){

$title=$m[“1”];

}

else{

$title=”沒有標題”;

}

$array[]=”$dir/$file $title”;

}

}

}

}

}

}

$array=array();

listFiles(“.”,”$keyword”,$array);

foreach($array as $value){

//拆開

list($filedir,$title)=split(“[ ]”,$value,”2″);

//輸出

echo “a href=$filedir target=_blank$title /a”.”br “;

}

?

到此為止,你已經做好了自己的一個搜索引擎,你也可以通過修改內容處理部分來改進它,可以實現搜索標題,或者搜索內容的功能。也可以考慮分頁。這些都留給你自己吧。

這裡說明一下用preg_match代替eregi,會快很多。這裡只是為了通俗易懂,所以使用了常用的eregi。

原創文章,作者:OAVG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/144228.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
OAVG的頭像OAVG
上一篇 2024-10-24 15:28
下一篇 2024-10-24 15:28

相關推薦

  • PHP和Python哪個好找工作?

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

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

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

    編程 2025-04-29
  • Avue中如何按照後端返回的鏈接顯示圖片

    Avue是一款基於Vue.js、Element-ui等技術棧的可視化開發框架,能夠輕鬆搭建前端頁面。在開發中,我們使用到的圖片通常都是存儲在後端服務器上的,那麼如何使用Avue來展…

    編程 2025-04-28
  • LwIP短鏈接client例程用法介紹

    本文將詳細闡述LwIP短鏈接client例程,該例程是基於LwIP協議棧實現的一個短鏈接客戶端程序,適用於嵌入式設備上進行互聯網通信。 一、LwIP介紹 LwIP(Lightwei…

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

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

    編程 2025-04-28
  • 如何創建短鏈接和實現熱切換

    在本文中,我們將會介紹如何使用Python創建短鏈接和實現熱切換功能。 一、創建短鏈接 1、什麼是短鏈接?通俗易懂來說,短鏈接就是將長鏈接變成一個短小精悍的地址,通常是為了方便用戶…

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

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

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

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

    編程 2025-04-27
  • 源程序只有經過編譯和鏈接後才能成為可執行程序

    源程序只有經過編譯和鏈接後才能成為可執行程序,這是編程開發中極為重要的一個環節。下面從編譯、鏈接以及可執行程序的生成過程三個方面來詳細闡述。 一、編譯 編譯是將源碼轉化為機器代碼的…

    編程 2025-04-27
  • Python中提取子鏈接Python頭歌

    本文將從多個方面詳細闡述Python中提取子鏈接Python頭歌的方法和技巧。 一、正則表達式方法 使用Python的正則表達式模塊可以方便地提取子鏈接Python頭歌。以下是一個…

    編程 2025-04-27

發表回復

登錄後才能評論