$num = 12; // $num为任意数$num = sprintf("%02d%",$num);
$message=ereg_replace("(#\d+)", " <IMG SRC=\'smilies/\\1.gif\'> ", $message);

解决方案 »

  1.   

    是不该明白!
    <?php
    $message = "#1-#2#99-#11";
    $message=ereg_replace("#([0-9]+)", " <IMG SRC=\'smilies/\\1.gif\'> ", $message);
    echo $message;
    ?>
    输出
     <IMG SRC=\'smilies/1.gif\'> - <IMG SRC=\'smilies/2.gif\'>  <IMG SRC=\'smilies/99.gif\'> - <IMG SRC=\'smilies/11.gif\'>
      

  2.   

    问题是$message存放的是一句话啊,不仅仅是#啊,比如
    “我想#77,”
    则输出“我想+睡觉.gif"
      

  3.   

    让用户这样输入试试:#0#-#9#
    #10#-#19#
    .
    .
    .
    .
    #90#-#99#
    $message=str_replace(",","/,",$message);
    $message=ereg_replace("#0#", " <IMG SRC=\'smilies/00.gif\'> ", $message);
    $message=ereg_replace("#1#", " <IMG SRC=\'smilies/01.gif\'> ", $message);
    $message=ereg_replace("#2#", " <IMG SRC=\'smilies/02.gif\'> ", $message);
             。
             。<中间略,递 增的>
    $message=ereg_replace("#10#","<IMG SRC=\'smilies/10.gif\'> ", $message); 
             。
             。<中间略,递 增的>
    我想这样应该不会错
      

  4.   

    或者
    将用户输入的#0-#9转化为#00-#09(这个转换就不用我说了吧sprintf()函数):$message=str_replace(",","/,",$message);
    $message=ereg_replace("#00", " <IMG SRC=\'smilies/00.gif\'> ", $message);
    $message=ereg_replace("#01", " <IMG SRC=\'smilies/01.gif\'> ", $message);
    $message=ereg_replace("#02", " <IMG SRC=\'smilies/02.gif\'> ", $message);
             。
             。<中间略,递 增的>
    $message=ereg_replace("#10","<IMG SRC=\'smilies/10.gif\'> ", $message); 
             。
             。<中间略,递 增的>我想这样也不会错
      

  5.   

    那真是奇了怪了,你那个是什么破系统!$message = "我想#77,";
    $message=ereg_replace("#([0-9]+)", " <IMG SRC=\'smilies/\\1.gif\'> ", $message);
    echo $message; //out 我想 <IMG SRC=\'smilies/77.gif\'> ,