切换风格

Wizard Sky California Sunset glow Black Cloud Beige Dragon Lavender NewYear City Snow Flowers London
收藏本站XSS平台字符串转换jsfuck
步步精通正则表达式第二课:正则表达式---原子组[复制链接]
发表于 2013-5-18 23:10:57 | 显示全部楼层 |!read_mode!


原子组:是一组原子表组成的
<?php
$strstr = <<<str
	<html>
		<body>
			<h1>3G-SecTeam正则表达式课程1</h1>
			<h2>3G-SecTeam正则表达式课程2</h2>
			<h3>3G-SecTeam正则表达式课程3</h3>
			<h4>3G-SecTeam正则表达式课程4</h4>
		</body>
	</html>
str;
//写法1
//$preg = '/<(h1|h2)>(.*?)<\/(h1|h2)>/';	//<>中有h1或h2、.*?匹配所有
//写法2
//$preg = '/<(h1|h2)>(.*?)<\/(\1)>/';		//  \1是指使用前一个匹配到的值,取第二个匹配到的值是\2,第三个\3,最大到\99,如果正则是使用双引号则\\1
//写法3
$preg = '/<(h\d{1})>(.*?)<\/(\1)>/';		//?禁止贪婪匹配

preg_match_all($preg,$strstr,$arr11,PREG_SET_ORDER);//PREG_SET_ORDER设置格式
echo "<pre>";
print_r($arr11);
echo "</pre>";
echo "<hr>";


//需求:把$strstr中的h1或h2或h3或h4替换为b标签
$new_strstr = preg_replace($preg,'<b>\2</b>',$strstr);
echo "<pre>";
print_r($new_strstr);
echo "</pre>";
echo "<hr>";


//需求:把$strstr中b标签里的字符替换为[url]http://www.3g-sec.com[/url]
$new2_strstr = preg_replace($preg,'<\1>[url]http://www.3g-sec.com[/url]<\3>',$strstr);
echo "<pre>";
print_r($new2_strstr);
echo "</pre>";
?>





该贴已经同步到 抚菊深思的微博
附件: 你需要登录才可以下载或查看附件。没有帐号?加入Team
操千曲而后晓声,观千剑而后识器。
发表于 2013-5-19 11:04:25 | 显示全部楼层
贪婪模式    怎么禁止来着。。。。  一下想不起了。

代码区

GMT+8, 2019-11-13 21:07

Powered by Discuz! X2

© 2001-2018 Comsenz Inc.

回顶部