preg_replace("#\[ne(\d+)\]#", "<img src=\"./smile/\\1.gif\">");

解决方案 »

  1.   

    <?php
    $string = "[asdasdwe01]";$pattern_1="/(\D+)/";
    $replacement_1="";$pattern="/^\[(\w+)\]/i";
    $replacement='<img src="/smile/'.preg_replace($pattern_1, $replacement_1, $string).'.gif">';print preg_replace($pattern, $replacement, $string);
    ?>
      

  2.   

    preg_replace("/[ne([0-9]+)]/","<img src=\"./smile/\\1.gif\">",$str);
      

  3.   

    \1对应第一个()里面的东西
    #,/是perl正则的标记跟你说先去看看文章
      

  4.   

    -、"^"头匹配
      ^front表示以"front"开头的字符串。
    二、"$"尾匹配
      tail$表示以"tail"结尾的字符串。
    三、转义序列
      所有转义序列都用"\"打头。如"^"、"$"、"+"、"("、")"在表达式中都有特殊意义,所以在正则表达式中也用"\^"、"\$"、"\+"、"\("、"\)"来表示。
    四、字符簇
      [a-z]匹配小写字符;[A-Z]匹配写字符;[a-zA-Z]匹配所有字符;[0-9]匹配所有数字;[\.\-\+]匹配所有句号,减号和加号;[^a-z]除了小写字母以外的成有字符;^[^a-z]第一个字符不能是小写字母;[^0-9]除了数字以外的所有字符;
    五、重复
      ^a{4}$表示aaaa;^a{2,4}表示aa,aaa或aaaa;^a{2,}表示多于两个a的字符串;.{2}表示所有的两个字符;