登录
立即注册
首页
>
绿虎论坛
>
历史版块
>
编程
>
PHP
>
讨论/求助
关于自定义ubb问题
小昊
@Ta
2011-02-17
6305点击
我为此事困惑了一段时间,就是怎样来自定义同城UBB呢?
举动个例子:mrpyx.cn只要提到广东;四川这类词就变为了同城的链接,效果如[url=...]广东[@/url](后台自定义了UBB)
请问一下这是怎么做到的呢?以下是我的想法:
其实广东就是一个UBB。如[url=/论坛地址]广东[@/url]
如何使【广东】这个UBB也达到URL那种效果呢?
知道的请回复一下源码,谢谢
注:柯林程序
隐藏样式
查看源码
回复列表(15|
隐藏机器人聊天
)
1
954432928
@Ta
/ 2011-02-17 /
样
/
源
不会
2
菜伢
@Ta
/ 2011-02-17 /
样
/
源
我在星星网就遇见这种
3
乐子
@Ta
/ 2011-02-17 /
样
/
源
得网站程序定义!
4
老虎会游泳
@Ta
/ 2011-02-17 /
样
/
源
<?php
$city=array(1=>'广东',2=>'四川',……,365=>'列溪'); #首先建立一个同城关键字表(该表也可从数据库中动态读取)
$nr='我住在广东!!'; #假设它是从数据库中取得贴子内容
foreach($city as $ctn=>$cti)
{
#foreach的意思是遍历数组$city,把每次的序号放在$ctn内、内容放在$cti内,第一次是广东,第二次四川,并每次执行它下面{}内的语句,直到最后的列溪,退出循环
$nr=preg_replace("/$cti/","<a href=\"city.php?id=$ctn\">$cti</a>",$nr); #这一步是关键,用正则表达式把每个城市名都替换成链接
}
echo $nr; #经过替换后再输出,就是你看到的效果了
?>
5
老虎会游泳
@Ta
/ 2011-02-17 /
样
/
源
进回复列表看完整代码
6
老虎会游泳
@Ta
/ 2011-02-17 /
样
/
源
进回复列表看完整代码
7
小昊
@Ta
/ 2011-02-17 /
样
/
源
感谢老虎,我怎麽感觉还没写完呢?
8
水木易安
@Ta
/ 2011-02-17 /
样
/
源
噢,这个是php数组,我在php100中看过、老虎你多想了,不用那么麻烦
9
老虎会游泳
@Ta
/ 2011-02-17 /
样
/
源
你进回复列表看了吗?而且不要用UC。新版的UC是PHP学习中的巨大障碍:因为你猜不到它什么时候就把一两句代码漏显了,而且很多时候根本看不出来!内测版无此BUG,想换回去的,这里有个我刚写的[read=mrpuc]在线自动破解器[/read]
10
老虎会游泳
@Ta
/ 2011-02-17 /
样
/
源
我用的PHP实现,不是ASP,但原理都差不多。
11
水木易安
@Ta
/ 2011-02-17 /
样
/
源
我的不支持mrp…用的java
12
水木易安
@Ta
/ 2011-02-17 /
样
/
源
看了,但是为什么用不了替代函数直接将字符串替代wml写法?
13
老虎会游泳
@Ta
/ 2011-02-18 /
样
/
源
12楼,对哦。我忘了这里确实可以这样。程序修改:
<?php
$city=array('广东','四川','重庆'…);
foreach($city as $ci=>$cn)
{$ctb[]="<a href=\"city.php?id=$ci\">\\cn</a>";}
echo $nr=str_replace($city,$ctb,'我家不在上海,不在广东,也不在重庆。');
?>
14
老虎会游泳
@Ta
/ 2011-02-18 /
样
/
源
楼上打错一个字。程序修改:
<?php
$city=array('广东','四川','重庆'…);
foreach($city as $ci=>$cn)
{$ctb[]="<a href=\"city.php?id=$ci\">$cn</a>";}
echo $nr=str_replace($city,$ctb,'我家不在上海,不在广东,也不在重庆。');
?>
15
水木易安
@Ta
/ 2011-02-18 /
样
/
源
呃,还是php,没看过asp
添加新回复
回复需要
登录
。
$city=array(1=>'广东',2=>'四川',……,365=>'列溪'); #首先建立一个同城关键字表(该表也可从数据库中动态读取)
$nr='我住在广东!!'; #假设它是从数据库中取得贴子内容
foreach($city as $ctn=>$cti)
{
#foreach的意思是遍历数组$city,把每次的序号放在$ctn内、内容放在$cti内,第一次是广东,第二次四川,并每次执行它下面{}内的语句,直到最后的列溪,退出循环
$nr=preg_replace("/$cti/","<a href=\"city.php?id=$ctn\">$cti</a>",$nr); #这一步是关键,用正则表达式把每个城市名都替换成链接
}
echo $nr; #经过替换后再输出,就是你看到的效果了
?>
<?php
$city=array('广东','四川','重庆'…);
foreach($city as $ci=>$cn)
{$ctb[]="<a href=\"city.php?id=$ci\">\\cn</a>";}
echo $nr=str_replace($city,$ctb,'我家不在上海,不在广东,也不在重庆。');
?>
<?php
$city=array('广东','四川','重庆'…);
foreach($city as $ci=>$cn)
{$ctb[]="<a href=\"city.php?id=$ci\">$cn</a>";}
echo $nr=str_replace($city,$ctb,'我家不在上海,不在广东,也不在重庆。');
?>