正则

<?php

$value['pagetext']='<a href="showthread.php?threadid=3830016&amp;forumid=1852">http://xxxx.com/showthread.php?threadid=3830016&amp;forumid=1852</a>';

	$pattern="/showthread\.php\?threadid=(.+)&amp;forumid=.[^\"]+?/";
	preg_match_all($pattern,$value['pagetext'],$out);
	foreach($out[0] as $key=>$vo){
		$value['pagetext']=str_replace($vo,$out[1][$key],$value['pagetext']);
	}echo $value['pagetext']."<hr>";
	$pattern="/href=\"showthread\.php\?threadid=(.[^\"]+)\"/";
	preg_match_all($pattern,$value['pagetext'],$matches);
	foreach($matches[0] as $key=>$vo){
		$value['pagetext']=str_replace($vo,'href="'.$matches[1][$key].'"',$value['pagetext']);
	}
	echo "<pre>";
	print_r($out);die;
	/* by wkj 2016-01-14
	把$pattern="/showthread\.php\?threadid=(.+)&amp;forumid=.[^\"]+?/";
	修改成这样的$pattern="/showthread\.php\?threadid=(\d+)&amp;forumid=\d+?/";
	没修改的时候导致 像上面的的标签匹配一直出错。。很久之前写的正则还是 too native 
	买了一本精通正则表达式,不得不说这本书很不错,慢慢学习
    */







你可能感兴趣的:(正则)