社区
基础编程
帖子详情
关于关键词变红问题!
fengzheng12345
2006-11-01 11:48:27
$a = array($tok[0], $tok[1], $tok[2]);
$b = array("<font color=red>$tok[0]</font>", "<font color=red>$tok[1]</font>", "<font color=red>$tok[2]</font>");
$body=str_replace($a, $b,$body);
问题如下:
我想让每个关键词只变红一次,不要上面我写的,只要是符合的关键词就全都变红。
我应该怎么办?
...全文
652
27
打赏
收藏
关于关键词变红问题!
$a = array($tok[0], $tok[1], $tok[2]); $b = array("$tok[0]", "$tok[1]", "$tok[2]"); $body=str_replace($a, $b,$body); 问题如下: 我想让每个关键词只变红一次,不要上面我写的,只要是符合的关键词就全都变红。 我应该怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fengzheng12345
2006-11-09
打赏
举报
回复
谢谢唠叨。给分!
aceblues
2006-11-03
打赏
举报
回复
还是唠叨好,为人民服务
xuzuning
2006-11-02
打赏
举报
回复
$key = array(0=>"的", 1=>"问题", 2=>"我");
关键字数组
array_walk($key, create_function('&$t', '$t = "/$t/";'));
array_walk 对数组中的每个成员应用用户函数
因为preg_* 函数都需要 /..../ 形式的规则串,而给出的关键字数组中不是
所以要加上
其中create_function('&$t', '$t = "/$t/";')动态创建一个函数,供array_walk使用
你也可以写成静态的,
function foo(&$t) {
$t = "/$t/";
}
array_walk($key, 'foo'));
见array_walk函数说明
$html = preg_replace($key, '<font color=red>$0</font>', $html, 1);
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
在 subject 中搜索 pattern 模式的匹配项并替换为 replacement。如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换。
php函数的原型声明中,类型mixed表示可以是多种类型的数据,当然也就可以是数组
deninghe
2006-11-02
打赏
举报
回复
mark
gu1dai
2006-11-02
打赏
举报
回复
大家谁解释一下?
-----------
这么懒 , 打pp
fengzheng12345
2006-11-01
打赏
举报
回复
谢谢zysoft17(瓷匠),但输出出来的不对阿..
输出一些?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>?font color='#ff0000'>146?font color='#ff0000'>?font 。。。
zysoft17
2006-11-01
打赏
举报
回复
试试这段代码:
$aa = array(0=>"A", 1=>"B", 2=>"C");
$html = 网页文件内容;
foreach($aa as $line){
$html = preg_replace("/($line)/","<font color='#ff0000'>\\1</font>",$html);
}
echo $html;
fengzheng12345
2006-11-01
打赏
举报
回复
大家谁知道?谢谢了
wildlily980
2006-11-01
打赏
举报
回复
手册,正则部分。
fengzheng12345
2006-11-01
打赏
举报
回复
大家谁解释一下?
fengzheng12345
2006-11-01
打赏
举报
回复
我是很弱。呵呵
easyroom
2006-11-01
打赏
举报
回复
真弱,
fengzheng12345
2006-11-01
打赏
举报
回复
谢谢。。问题解决了,就是没看明白写的是什么意思?呵呵!还要好好研究一下。。。
xuzuning
2006-11-01
打赏
举报
回复
这样写!
你们都没有注意到:
1、preg_replace 有替换次数的指定吗
2、preg_replace 可以接受数组做参数吗
<?php
$html = "个人信息设置: 修改个人基本信息、 新设密码、<br>
新设问题答案、 修改email、 注册条款 <br>
社区: 社区、 我的问题、 我得分的问题、 我参与的问题、<br>
我的信誉分、 我的短消息、 设置自定义社区<br>
文档中心: 最新文档、 发表文章 <br>
求职: 维护我的简历<br>
系统功能: 帮助 ";
$key = array(0=>"的", 1=>"问题", 2=>"我");
array_walk($key, create_function('&$t', '$t = "/$t/";'));
$html = preg_replace($key, '<font color=red>$0</font>', $html, 1);
echo $html;
?>
yunfeifan
2006-11-01
打赏
举报
回复
$html = preg_replace("/($line)(.+)/s","<font color='#ff0000'>\\1</font>\\2",$html);
fengzheng12345
2006-11-01
打赏
举报
回复
zysoft17。。
$key = array(0=>"的", 1=>"问题", 2=>"我");你看一下结果!
关键词“我”出现了三次,关键词“的”出现了三次,关键词“问题”出现了两次。
我想只让他们一个之出现一次。呵呵!还得麻烦你看看
fengzheng12345
2006-11-01
打赏
举报
回复
太感谢了,我先试一下!
zysoft17
2006-11-01
打赏
举报
回复
估计这段代码的性能应该也不差吧.
zysoft17
2006-11-01
打赏
举报
回复
好不容易, 成功的代码如下:
<?php
$html = "个人信息设置: 修改个人基本信息、 新设密码、<br>
新设问题答案、 修改email、 注册条款 <br>
社区: 社区、 我的问题、 我得分的问题、 我参与的问题、<br>
我的信誉分、 我的短消息、 设置自定义社区<br>
文档中心: 最新文档、 发表文章 <br>
求职: 维护我的简历<br>
系统功能: 帮助 ";
$key = array(0=>"email", 1=>"修改个人", 2=>"文");
foreach($key as $line){
$html = preg_replace("/($line)(.+)/","<font color='#ff0000'>\\1</font>\\2",$html);
}
echo $html;
?>
fengzheng12345
2006-11-01
打赏
举报
回复
zysoft17(瓷匠),可以告诉我应该怎么算吗?我没是没办法,必须得这样做。
加载更多回复(7)
Linux 用户账号管理-添加新的用户账号
想要更好地管理你的Linux系统账号,首先需要学会如何添加新的用户账号。本文将向你介绍如何在Linux中添加新的用户账号,帮助你更好地管理你的系统账号,是Linux初学者必备的基础知识哦!
添加用户账号
添加用户账号 1)添加一个用户账号tarena01 2)指定uid为580 3)指定附加组为root组 4)指定家目录为/opt/tarena01 5)指定登陆shell为/sbin/nologin 6)用标准式输入的方式用passwd给tarena01设置密码为example 7)锁定tarena01用户密码 8)解锁tarena01用户 在Linux同添加一个用户账户的命令为useradd,常...
linux添加用户账号
问题
1)添加一个用户账号tarena01 2)指定uid为580 3)指定附加组为root组 4)指定家目录为/opt/tarena01 5)指定登陆shell为/sbin/nologin 6)用标准式输入的方式用passwd给tarena01设置密码为example 7)锁定tarena01用户密码 8)解锁tarena01用户 方案 在Linux同添加一个用户账户的命令为useradd,常...
linux 用户账号,Linux系统如何添加修改和删除用户账号
Linux系统中队用户账号的管理指的是,添加、修改和删除用户账号。因为Linux系统中可能存在多个用户,所以用户账号的管理也是很常见的。本文就来为大家分享一下Linux系统添加、修改和删除用户账号教程。添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。添加新的用户账号使用useradd命令,其语法如下:usera...
基础编程
21,889
社区成员
140,337
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章