就是这个函数的参数怎么理解,说得越详细,楼主越感谢啊!!$html_body = "< HTML>< Body>< H1>TEST< /H1>My Picture< /Body>< /HTML>"; //输出结果中HTML标签将全部为小写字母 
print $html_body."<br>";
echo preg_replace ( "/(< \/?)(\w+)([^>]*>)/e", "'\\1'.strtolower('\\2').'\\3'", $html_body); 

解决方案 »

  1.   

    "/(< \/?)(\w+)([^>]*>)/e"
    正则表达式,匹配要替换的内容(原内容)
    "'\\1'.strtolower('\\2').'\\3'"
    要替换成的内容(目标内容)
    $html_body
    检索的字符串说明:搜索$html_body中所有内容,能和/(< \/?)(\w+)([^>]*>)/e匹配的内容全部替换成'\\1'.strtolower('\\2').'\\3'
      

  2.   

    其实很简单
    \\1代表第一个括号里匹配的字符 比如< 
    \\2代表标签 比如HTML
    \\3代表 />/(< \/?)(\w+)([^>]*>)/e
    第一个括号里<空格 \/?表示可能出现,也有可能不出现
    第二个括号 匹配数字和字母组成的串
    第三个括号 表示除了>之外的所有字符串的集合
      

  3.   

    不好意思啊,手册上这个例子在解释一下啊!!$patterns = array ("/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/", "/^\s*{(\w+)}\s*=/");
    $replace = array ("\\3/\\4/\\1\\2", "$\\1 =");
    print preg_replace ($patterns, $replace, "{startDate} = 1999-5-27");
      

  4.   

    可能是分别对数组里的元素匹配吧
    猜测可能是这意思
    preg_replace ("/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/", "\\3/\\4/\\1\\2", "{startDate} = 1999-5-27")
    preg_replace ("/^\s*{(\w+)}\s*=/", "$\\1 =", "{startDate} = 1999-5-27")