<?php
/**********************/
/*给你一行文字$string,你如何编写一个正则表达式,把$string内的html标签去掉?*/
$string='<p><a href=dd.php>this</a> is wang yong ping</p>';
$expression = "/(<[^>]*>)/";
echo preg_replace($expression,"\\2",$string);
?>大家能告诉我下"\\2"是怎么得来的,大家能告诉我吗?

解决方案 »

  1.   

    此处"\\2"其实应该用空字符串""就行了。
    脚本中用"\\2"来替换,我是这么理解的:
    正表达式匹配结果是返回匹配及其子匹配的集合数组。
    因为$expression = "/(<[^>]*>)/";这个正则表达式只有一个子匹配(有一个圆括弧)所以它的结果集中有两个元素即"\\0"和"\\1",不存在"\\2",所以"\\2"是个空值,与""一样。
      

  2.   

    赞成 daniel75122 的观点!