百度首页 | 百度空间
 
查看文章
 
发现一个很好的方法解决字符串替换
2008年03月13日 星期四 11:43

这个问题昨天搞了半天没能解决,今天早上灵感大发,解决了,爽之

描述:
有的时候想在字符串中把某些字符替换为另一个字符,但又有些同样的字符在某些场合不想被替换,这样就出现了矛盾,比如:
要将字符串中的"-"替换为空,但{spider:-}中的"-"不替换,

当时我写正则没能一步实现了,后来想,一步不行,二步应该没问题,于是就先把那些不想被替换的字符存到数组里去,等替换完了之后再还原回来。

下面是示例代码:

<?php
$str='fdsf-sd{spider:-}ds{spider:wb}f-dsf';
preg_match_all('/\{spider:.*?\}/',$str,$matches);
$arr=$matches[0];
$str=preg_replace('/\{spider:.*?\}/','*',$str);
$str=str_replace('-','',$str);
$pos = 0;
$count=0;
while($n = strpos($str,"*",$pos))
{
$pos =$n+1;
$str=substr_replace($str,$arr[$count],$n,1);
$count++;
}
echo $str;
?>

类别:自言自语 | 添加到搜藏 | 浏览() | 评论 (2)
 
最近读者:
 
网友评论:
1
2008年03月13日 星期四 12:08
谢谢指点,多交流!
 
2
2008年03月20日 星期四 23:08
来看你了~
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu