<?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"是怎么得来的,大家能告诉我吗?
调试欢乐多
脚本中用"\\2"来替换,我是这么理解的:
正表达式匹配结果是返回匹配及其子匹配的集合数组。
因为$expression = "/(<[^>]*>)/";这个正则表达式只有一个子匹配(有一个圆括弧)所以它的结果集中有两个元素即"\\0"和"\\1",不存在"\\2",所以"\\2"是个空值,与""一样。