$num1=ad
$string="aderferefreere";
$num = "<font color=#FF0000>$num1</font>";
$string = ereg_replace($strj,$num,$string);
echo $string ;
这样就可以,不在数据库中做任何手脚!!!!
$string="aderferefreere";
$num = "<font color=#FF0000>$num1</font>";
$string = ereg_replace($strj,$num,$string);
echo $string ;
这样就可以,不在数据库中做任何手脚!!!!
这是字符串替换吧?只能起关键字加亮功能的吧?to xuzuning(唠叨) :
把关键字另外建数据表?如果我这里何有多个模板要实现此功能的话,如把关键字联系到具体的一条记录呢?
你指库,指什么?已有记录的数据表?
我想修改数据表,将关键字与记录存在一起。
建关键字表,与记录关联比较麻烦。
这个问题我想可以改造成一对一的关系。多个关键字用空格隔开,组成字符串。
看来只能这样做了。
2、查出一条记录后,读取它的keywords字段并把个关键字提出来组成第二个关键字检索语句
select * from table where keywords like '%#hello#%' or keywords like '%#world#%'
3、用#(或其它符号)作界定符的好处是避免查询hello时把helloP这个关键词内容错误查出
谢谢你的提醒,我终于懂了!
“相关链接”功能模块之概略设计一、 功能需求
插入关键字,同时所有文章链接此关键字。
删除关键字,同时删除所有与此关键字相关的链接。
插入文章,同时建立与关键字表内关键字的链接。
删除文章,同时删除关键链接表内与此文章相关的链接。
查询相关链接,根据原文章的关键字匹配目标文章的关键字。
查询优先:
1、 关键字优先——先查询从Keyword中键入的关键字,再标题及正文(若效率较高时使用)中生成的关键字。
2、 表内优先——优先查询同表内数据。
3、 后进者优先——可能是新发布的。二、 数据表的设计
1、文章表
TabID 文章表的ID
TabType 数据表所在栏目名称
nTabName 数据表名
nDataID 表内唯一字段(整型)名
nTitle 表内标题字段名
nContent 表内正文字段名
nIssueTime 表内时间字段名
2、关键字表
KeyID 关键字ID
KwName 关键字
TabID 文章表的ID(用以表示关键来源)
SeqNum 顺序数值(从Keyword中键入的关键字排在前面)
3、关键字链接表
HID 排序用关键字。(自增量)
TabID 文章表的ID
DataID 文章ID
KeyID 关键字ID三、 功能的实现
1、 插入关键字
insert_keyword($keyword,$tablename)
去$keyword中的特殊字符(建数组)
检查$keyword是否为空
检查$keyword是否已在关键字表中存在
已存在,返回-1
不存在,读$TabID->插入$keyword到关键字表->读$keyword->查找所有的文章并根据$keyword建立关键字链接。
成功返回1,失败返回0。
2、 删除关键字
delete_keyword($keyid)
根据KeyID删除关键字链接表中的相关记录
删除关键字表中的此记录
3、 插入文章
add_kwlink($tablename,$aid,arrKeyword=NULL)
根据$tablename读取数据表的相关信息
若arrKeyword不为NULL,插入此关键字(数组)的链接(先检查是否已存在)
读关键字表中的记录数(NUM),并分两种情况建立关键字链接:
1) NUM较小时,以关键字表中每个关键字模糊查询标题(或正文)。
2) NUM较大时,从Title中根据某种算法分析出关键字然后在关键字表中匹配。
del_kwlink($tablename,$aid)
删除关键字表中的相关链接
show_kwlink($tablename,$aid)
现在正编码显示文章模块。也取“相关链接”的前台显示问题。
正遇到个问题:如何排序。
排序规则有:多次匹配成功的关键第一排序参数。关键字应用少作为第二排序参数,新发布作为第三排序参数。
其中主要的问题是第一参数的SQL很难写出来。读全部内容到PHP,怕效率太低。
http://expert.csdn.net/Expert/topic/2209/2209406.xml?temp=.7700769
我现在做的,是在一篇中新增一个关键字,就自动在整个网站中搜索此关键字(标题中模糊查询,不在正文中查询,是因为在线在提交中完成,考虑到速度问题)并自动添加。
所以比在每篇文章中增加关键字的方案应该要好些的。此功能已经在使用,不过查询还可优化一下(主要查询结果优先的问题)。