首页 > 后端开发 > 正文

如何使用php给文本中的关键词加上链接

2024-09-07 12:28:19 | 我爱编程网

如何使用php给文本中的关键词加上链接相关内容,小编在这里做了整理,希望能对大家有所帮助,关于如何使用php给文本中的关键词加上链接信息,一起来了解一下吧!

本文目录一览:

如何使用php给文本中的关键词加上链接

如何使用php给文本中的关键词加上链接

<?php
/**
* 按长度排序(降序)
*/
function _sortDesc($a, $b) {
return (strlen($a[0]) < strlen($b[0])) ? 1 : -1;
}

$linkDefs = array(
'茶叶,111.htm',
'中国茶叶大观,222.htm',
);

$linkMap = array();
foreach($linkDefs as $row) {
$linkMap[] = explode(',', $row);
}

$str = '
这儿是茶叶的链接。<br />
这儿是中国茶叶大观的链接。<br />
这儿是<a href="111.html">茶叶</a>的现有链接。<br />
这儿是<a href="222.html">中国茶叶大观</a>的现有链接。<br />
';

//把原有的链接替换成文字
foreach($linkMap as $row) {
$str = preg_replace('/(<a.*?>\s*)('.$row[0].')(\s*<\/a>)/sui', '${2}', $str);
}

//关键字从长至短排序
usort($linkMap, '_sortDesc');
//var_dump($linkMap);

$tmpKwds = array(); //存放暂时被替换的子关键字

foreach($linkMap as $i=>$row) {
list($kwd, $url) = $row;
for($j=$i+1; $j<count($linkMap); $j++) {
$subKwd = $linkMap[$j][0];
//如果包含其他关键字,暂时替换成其他字符串,如 茶叶 变成 {fcc734148321f5ad627b27585aa23958}
if(strpos($kwd, $subKwd) !== false) {
$tmpKwd = '{'.md5($subKwd).'}';
$kwd = str_replace($subKwd, $tmpKwd, $kwd);
$tmpKwds[$tmpKwd] = $subKwd;
}
}
//把文字替换成链接
$str = preg_replace('/('.$row[0].')/sui', '<a href="'.$row[1].'">'.$kwd.'</a>', $str, 5); // 最多替换5次
}

//把代替子关键字的字符串替换回来
foreach($tmpKwds as $tmp=>$kwd) {
$str = str_replace($tmp, $kwd, $str);
}
echo $str;
?>

以上程序输出:

这儿是<a href="111.htm">茶叶</a>的链接。<br />
这儿是<a href="222.htm">中国茶叶大观</a>的链接。<br />

这儿是<a href="111.htm">茶叶</a>的现有链接。<br />
这儿是<a href="222.htm">中国茶叶大观</a>的现有链接。<br />

如何使用php给文本中的关键词加上链接

php新闻页面的上一篇下一篇代码怎么写?最好把源代码给我,要详细点的,谢谢!我自己写了一个,但是感觉不行

我现在没代码 但是我可以给你思路
现在好多人用id的增1和减1实现上一篇和下一篇
但是难道文章ID不会断了吗
所以你要知道上个ID和个ID是多少就OK了
那怎么解决这个问题呢,很简单
例子:
假如这篇文章的ID微200
<a href="?action=up&id=200">上一篇</a>
<a href="?action=down&id=200">下一篇</a>
如果是实现上一篇就在action=up页面写函数
$id= $_GET['id'];
上一篇:
$sql= select * from article where id < '.$id.' order by id desc limit 0,1';
$rs= mysql_query($sql);
$row= mysql_fetch_array ($rs);
下一篇:
$sql= select * from article where id < '.$id.' order by id asc limit 0,1';
$rs= mysql_query($sql);
$row= mysql_fetch_array ($rs);

原理,查询比当前ID小(where id < '.$id.'上一篇)和比当前ID大(where id > '.$id.'下一篇)的1条(limit 0,1)数据,并按降序(desc,上一篇)和升序(asc,下一篇)显示出来,当只取一篇的时候,可以省略降序或升序。
==============
很简单哦 本解答由爱微网iiiwnet原创编写

如何使用php给文本中的关键词加上链接我爱编程网

如何使PHP聊天室最新聊天内容从上到下显示

我爱编程网(https://www.52biancheng.com)小编还为大家带来如何使PHP聊天室最新聊天内容从上到下显示的相关内容。

看你现在的程序是怎么编写的,如果你的程序把内容存在数据库,那么SELECT的那个SQL语句使用ORDER BY就能实现倒排。如果你的程序把文件存储在文件里面的,如果你是使用file来读取文件,那么使用函数array_reverse可以完成倒排。

比如你现在的程序是:
$arr=file($f);

那么如下修改即可:
$arr=array_reverse(file($f));

以上就是如何使用php给文本中的关键词加上链接全部内容了,了解更多相关信息,关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“如何使用php给文本中的关键词加上链接”相关推荐
如何用Python实现在文件夹下查找一个关键词
如何用Python实现在文件夹下查找一个关键词

如何用Python实现在文件夹下查找一个关键词#!/usr/bin/python#coding:utf8importos#判断文件中是否包含关键字,是则将文件路径打印出来defis_file_contain_word(file_list,query_word):for_fileinfile_list:ifquery_wordinopen(_file).read():

2024-01-11 11:26:13
如何用PHP给上传的文件改名?
如何用PHP给上传的文件改名?

如何用PHP给上传的文件改名?上传文件,PHP是在你的服务器上建立临时文件,日期肯定是当时的,名字是随机名字,你应该把这个文件COPY到你自己的文件夹下(应该专门用一个文件夹来存放大家上传的文件)。下面是我上传文件的例子(部分代码):保存部分PHP代码:for($i=1;$i&lt;=$filecnt;$i++){$f_image="file".$i;$tmp_name=$

2024-12-17 22:17:33
php如何实现 在文本框中输入123,点击按钮跳转到 固定链接+ 123
php如何实现 在文本框中输入123,点击按钮跳转到 固定链接+ 123

php如何实现在文本框中输入123,点击按钮跳转到固定链接+123他就是按钮出发onclick事件触发jump()函数,然后就是varlink=document.getElementById('link').value;这段代码取得了id为link里的value也就是你输入的内容,之后进行跳转网页后面加上你取得的value值(link);php文件中添加一个按钮点击关闭当前页面调用什么函

2024-09-09 22:18:05
Python过滤关键词???怎么做呢,在线等
Python过滤关键词???怎么做呢,在线等

Python过滤关键词???怎么做呢,在线等你直接in就可以了filter_words = ['aaa', 'bbb', 'ccc']test = 'afewfjlkkbbbsdfewfe'for w in filter_words:    if w in test:        print "error"        break如果解决了您的问题请采纳!如果未解决请继续追

2023-12-27 10:33:40
键盘上的如何打
键盘上的如何打

键盘上的如何打键盘上面的点怎么打键盘上面的点怎么打键盘上打点的方法有如下两种。方法一,打出".":在英文输入法下,按住Shift,点击“句号”即可。方法而已,打出“·”的方法:在中文输入法下,点击“~”键即可打出“·”。键盘上的中间的点怎么打打“点”字会出现·前面这一点键盘上怎么输入“·”的打出方法是:在中文输入法下,直接点击键盘上的“~`”键盘即可打

2024-01-15 16:51:11
如何用php读取指定文件夹里所有文件并做成链接
如何用php读取指定文件夹里所有文件并做成链接

PHP5教程之文件操作一引论在任何计算机设备中文件是都是必须的对象而在web编程中文件的操作一直是web程序员的头疼的地方而文件的操作在cms系统中这是必须的非常有用的我们经常遇到生成文件目录文件(夹)编辑等操作现在我把php中的这些函数做一详细总结并实例示范如何使用关于对应的函数详细介绍请查阅php手册此处只总结重点和需要注意的地方(这在php手册是没有的)(lian)二目录

2024-08-09 15:40:31
如何给文章添加新的标签类型
如何给文章添加新的标签类型

如何给文章添加新的标签类型第一步:注册电影相关标签将下列代码放置到主题模版函数functions.php闭合中,完成后可以到文章编辑页面查看是否多出了几个选项卡。//注册电影相关标签register_taxonomy('director','post',array('hierarchical'=&gt;false,'label'=&gt;'导演','query_var'=&gt;

2024-12-10 09:17:02
用php+mysql如何统计超链接被点击的次数
用php+mysql如何统计超链接被点击的次数

怎样用JS+PHP统计页面上图片的点击次数?用JQ的,ajax无刷新就能做到了&lt;imgsrc=""id="abc"value="addnum"&gt;&lt;script&gt;$("#abc").click(function(){varvalue=$(this).attr('value');$.ajax({type:"POST",url:"add.php

2024-12-13 23:16:08