InfoQ

交流

讨论:为什么要这样处理呢?

作者 flowerleaf 发布于 0000-00-00 分类:php基础编程

我不明白为什么输入的东东要这样处理呢?
function ubbcode($text)
{
$text=htmlspecialchars($text);
$text=preg_replace("/\t/is"," ",$text);
$text=preg_replace("/[h1](.+?)[/h1]/is","

\1

",$text);
$text=preg_replace("/[h2](.+?)[/h2]/is","

\1

",$text);
$text=preg_replace("/[h3](.+?)[/h3]/is","

\1

",$text);
$text=preg_replace("/[h4](.+?)[/h4]/is","

\1

",$text);
$text=preg_replace("/[h5](.+?)[/h5]/is","
\1
",$text);
$text=preg_replace("/[h6](.+?)[/h6]/is","
\1
",$text);
$text=preg_replace("/[url](.+?))[/url]/is","\1",$text);
$text=preg_replace("/[url=(.+?)](.*)[/url]/is","\2",$text);
$text=preg_replace("/[img](.+?)[/img]/is","",$text);
$text=preg_replace("/[b](.+?)[vb]/is","\1",$text);
$text=preg_replace("/[email](.+?)[/email]/is","",$text);
$text=preg_replace("/[i](.+?)[/i]/is","\1",$text);
return $text;
}
然后这样
。。。。
{
$txtname=ubbcode(ereg_replace(",",$txtname));
$txtfrom=ereg_replace(",",$txtfrom);
$txtemail=ereg_replace(",",$txtemail);
$txtpwd=ereg_replace(",",$txtpwd);
$txtcontent=ubbcode(ereg_replace(",",$txtcontent));
$txthomepage=ereg_replace(",",$txthomepage);
而调试时说
$txtname=ubbcode(ereg_replace(",",$txtname));
$txtfrom=ereg_replace(",",$txtfrom);
$txtemail=ereg_replace(",",$txtemail);
$txtpwd=ereg_replace(",",$txtpwd);
$txtcontent=ubbcode(ereg_replace(",",$txtcontent));
$txthomepage=ereg_replace(",",$txthomepage);
中的"""错误从书上看的),那位给提示一下,谢谢



逛论坛交流
为什么要这样处理呢?

加入书签
digg+,
reddit+,
del.icio.us+,
dzone+

9 条回复

回复

下例传回值为 $startDate = 6/19/1969 .. 发表人 火龙sky2号 发表于 12月02日
你这个例子我能看懂,可是我不明白$text.. 发表人 flowerleaf 发表于 12月02日
例如:我要把输入的email进行处理: $.. 发表人 flowerleaf 发表于 12月02日
是不是HTML里面的这个东西???? 好.. 发表人 yuguanglou 发表于 12月02日
我理解的也是HTML中的[X]。。。[/X],只.. 发表人 flowerleaf 发表于 12月02日
$txtname=ubbcode(ereg_replace(",",$t.. 发表人 yuguanglou 发表于 12月02日
UBB代码,为安全用正则模拟出html代码的.. 发表人 冬冬 发表于 12月02日
应该是把双引换成单引吧 发表人 冬冬 发表于 12月02日
是呀,为什么要这样换? 发表人 flowerleaf 发表于 12月02日
  1. 返回顶部

    Re: 为什么要这样处理呢?

    2003年12月02日 发表人 火龙sky2号

    下例传回值为 $startDate = 6/19/1969
    [php]
    <?php
    $patterns = array("/(19|20d{2})-(d{1,2})-(d{1,2})/", "/^s*{(w+)}s*=/");
    $replace = array("\3/\4/\1", "$\1 =");
    print preg_replace($patterns, $replace, "{startDate} = 1969-6-19");
    ?>
    [/php]
    看手册好了,刚学就搞这么烦的东东,会累死的了。看了都怕怕。:(

  2. 返回顶部

    Re: 为什么要这样处理呢?

    2003年12月02日 发表人 flowerleaf

    你这个例子我能看懂,可是我不明白$text=preg_replace("/[h1](.+?)[/h1]/is","

    \1

    ",$text);这个[h1]是什么意思?,(.+?)这三个家伙扩在一起又是是什么意思?...自打接触正则以后我就再没有清醒过

  3. 返回顶部

    Re: 为什么要这样处理呢?

    2003年12月02日 发表人 flowerleaf

    例如:我要把输入的email进行处理:
    $text=preg_replace("/[email](.+?)[/email]/is","\1",$text);
    是不是我输入的email的内容本身就以[email]...[/email]的内容形式存在?,如果是我就知道怎么回事了,如果不是,它怎么能替换呢?

  4. 返回顶部

    Re: 为什么要这样处理呢?

    2003年12月02日 发表人 yuguanglou

    是不是HTML里面的这个东西????
    好像是啊

  5. 返回顶部

    Re: 为什么要这样处理呢?

    2003年12月02日 发表人 flowerleaf

    我理解的也是HTML中的[X]。。。[/X],只是有点迷惑:我输入的email是文本的形式,php提取的是[email]...[/email]..,他怎么就找着了email呢?哎,我自己都不知我在说什么了

  6. 返回顶部

    Re: 为什么要这样处理呢?

    2003年12月02日 发表人 yuguanglou

    $txtname=ubbcode(ereg_replace(",",$txtname));
    $txtfrom=ereg_replace(",",$txtfrom);
    $txtemail=ereg_replace(",",$txtemail);
    $txtpwd=ereg_replace(",",$txtpwd);
    $txtcontent=ubbcode(ereg_replace(",",$txtcontent));
    $txthomepage=ereg_replace(",",$txthomepage);
    这些不就是做那些事的吗

  7. 返回顶部

    Re: 为什么要这样处理呢?

    2003年12月02日 发表人 冬冬

    UBB代码,为安全用正则模拟出html代码的效果

  8. 返回顶部

    Re: 为什么要这样处理呢?

    2003年12月02日 发表人 冬冬

    应该是把双引换成单引吧

  9. 返回顶部

    Re: 为什么要这样处理呢?

    2003年12月02日 发表人 flowerleaf

    是呀,为什么要这样换?




  10. 我有话要讲:(可以匿名发表, 发广告的有多远请滚多远!!!)

    昵称: 请输入验证码:


抢着回答

我想我是海

我的心像软的沙滩 留著步履凌乱 过往有些悲欢 总是去而复返 ...

请勿扰人尸体...

特別是女尸

在linux下新装了mysql启动不起来,求救...

编译好了以后运行 mysql_install_db 然后又 safe_mysqld &...

在php分页中如何能像本论坛的页码那样当...

在php分页中如何能像本论坛的页码那样当前页码加为高显示 比...

疯了 疯了

一大早来 就看到到处是这个疯子的............... 受什么刺激了

新手提问1 请问 echo print printf 有什...

请问 echo print printf 有什么区别??? print_r 又是个什么东...

无聊!没人玩,88

周末一个个都去泡GG、MM去了?剩俺一个人,无聊!打篮球去!重新...

用资源管理器显示站点目录.re:"共...

效果演示 js 代码大家自己看,代码很简单,但全部打开或关...

为什么我的phpmyadmin/index.php打不开...

各位大侠,我在我的phpmyadmin文件中的config.ini.php中把user和...

mysql查询问题

有两个表(bbs中),一个放主题内容,另一个放回复内容 怎样在页...

[]