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/n/144228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
OAVGOAVG
上一篇 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

发表回复

登录后才能评论