| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1231 人关注过本帖
标题:Discuz可以这样使用,为什么我不行?
只看楼主 加入收藏
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
结帖率:72.73%
收藏
 问题点数:0 回复次数:5 
Discuz可以这样使用,为什么我不行?
程序代码:
// 以下代码摘自Discuz 7 的discuzcode.func.php文件部分代码

if(strpos($msglower, '[/email]') !== FALSE) {
            $message = preg_replace("/\[email(=([a-z0-9\-_.+]+)@([a-z0-9\-_]+[.][a-z0-9\-_.]+))?\](.+?)\[\/email\]/ies", "parseemail('\\1', '\\4')", $message);
        }


function parseemail($email, $text) {
    if(!$email && preg_match("/\s*([a-z0-9\-_.+]+)@([a-z0-9\-_]+[.][a-z0-9\-_.]+)\s*/i", $text, $matches)) {
        $email = trim($matches[0]);
        return '<a href="mailto:'.$email.'">'.$email.'</a>';
    } else {
        return '<a href="mailto:'.substr($email, 1).'">'.$text.'</a>';
    }
}

为什么我仿照那样使用却不行呢?
程序代码:
// 下面是我的代码,请将【换成"[",】换成"]"
<?php
echo $message = preg_replace("/\[email=(([a-z0-9\-_.+]+)@([a-z0-9\-_]+[.][a-z0-9\-_.]+))?\](.+?)\[\/email\]/is", "parseemail('\\1','\\4')","【email=redice@】redice【/email】");

function parseemail($email, $text) {
    if(!$email && preg_match("/\s*([a-z0-9\-_.+]+)@([a-z0-9\-_]+[.][a-z0-9\-_.]+)\s*/i", $text, $matches)) {
            $email = trim($matches[0]);
            return '<a href="mailto:'.$email.'">'.$email.'</a>';
    } else {
            return '<a href="mailto:'.substr($email, 1).'">'.$text.'</a>';
   }
}
?>


程序输出为: parseemail('redice@','redice')


不要告诉我让我把"parseemail('\\1','\\4')"的双引号去掉。  


在线等高手指点




[ 本帖最后由 redice 于 2009-12-22 21:50 编辑 ]
搜索更多相关主题的帖子: Discuz 
2009-12-22 16:08
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
收藏
得分:0 
  为什么每人关注呢??

鲲鹏数据 - 专业Web数据采集服务提供者
http://www.
2009-12-22 18:43
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
收藏
得分:0 
救命啊 救命啊

鲲鹏数据 - 专业Web数据采集服务提供者
http://www.
2009-12-22 21:46
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:57
帖 子:2012
专家分:7306
注 册:2007-12-17
收藏
得分:0 
原本想实现什么功能?结果出现什么错误?

那一年,苍井空还是处女
2009-12-22 22:07
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
收藏
得分:0 
回复 4楼 外部三电铃
本来想和DZ一样能够自动执行字符串中的函数。

鲲鹏数据 - 专业Web数据采集服务提供者
http://www.
2009-12-23 10:58
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
收藏
得分:0 
回复 楼主 redice
今天终于搞清楚了,哈哈哈

preg_replace函数原型:


mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])

特别说明:

/e 修正符使 preg_replace() 将 replacement 参数当作 PHP 代码(在适当的逆向引用替换完之后)。提示:要确保 replacement 构成一个合法的 PHP 代码字符串,否则 PHP 会在报告在包含 preg_replace() 的行中出现语法解析错误。


http://www.

鲲鹏数据 - 专业Web数据采集服务提供者
http://www.
2010-06-07 18:40
快速回复:Discuz可以这样使用,为什么我不行?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013528 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved