function displaysmiley($smile) {
  $smile=htmlspecialchars($smile);
  if(is_file('images/smiles/'.$smile.'.gif')) {
    $img='<img src="./images/smiles/'.$smile.'.gif" >';
  }
  return $img;
}
echo preg_replace("/[:](.+?)[:]/ies", "displaysmiley('\\1')", $word);
哪位大师帮忙解释下^_^比如/[:](.+?)[:]/ies和 '\\1':\\1什么意思?
谢谢!

解决方案 »

  1.   

    /[:](.+?)[:]/ies  匹配两个":"之间的一个以上的任意字符,包括换行符
    \\1 反向引用,代表模式中(.+?)匹配到的字符串
      

  2.   


    .+?中的点什么意思?还有/ies什么意思?
    谢谢啦!!
      

  3.   

    . 匹配任意字符
    + 至少一个字符以上
    ? 非贪婪模式
    /ies    i 忽视大小写,s 使"."可匹配换行符,e 匹配结果可保护可执行的php语句