CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

字符串检索的问题

楼主monsterbaby(monsterbaby)2005-06-10 14:25:00 在 Web 开发 / PHP 提问

我在一个很长的字符串变量中找到了与我的一个变量相同的一段,  
  但是我的字符串中有一些变量要改,有的与我这个变量相同的!所以我在改过后要把指针对准我改后的地方,从那里开始写!  
  我用echo   strpos($buffer,$value);找到了与我变量相同的位置!  
  但怎么从我改后的下一个位置开始??  
  问题点数:40、回复次数:8Top

1 楼reners(网讯太空)回复于 2005-06-10 14:34:49 得分 5

什么意思?  
  如果字符串里有相同变量而不想改的将变量前面的$加上\  
  可用str_replace()替换后得到结果Top

2 楼xuzuning(唠叨)回复于 2005-06-10 14:42:04 得分 5

需求不明确Top

3 楼ice_berg16(寻梦的稻草人)回复于 2005-06-10 14:51:04 得分 5

str_replace()Top

4 楼monsterbaby(monsterbaby)回复于 2005-06-10 15:00:02 得分 0

但是我的字符串中有一些"字符"要改,有的与我这个变量相同的!所以我在改过后要把指针对准我改后的  
   
  <a   href="abc">more</a>  
  <a   href="efg"></a>  
  <a   href="jka"></a>  
  <a   href="bbc">more</a>  
  <a   href="abc">more</a>  
   
   
  我要改连接,有时会有相同的连接要改,所以希望要个字符串的指针!  
  这样我该第一个<a   href="abc">more</a>  
  后再能改第二个<a   href="abc">more</a>  
  echo   strpos($buffer,$value);我找到了他的位置,但都是第一个<a   href="abc">more</a>  
  的位置!!Top

5 楼monsterbaby(monsterbaby)回复于 2005-06-10 15:49:36 得分 0

最终改成:  
  <a   href="xxx.php?abc">more</a>  
  <a   href="xxx.php?efg"></a>  
  <a   href="xxx.php?jka"></a>  
  <a   href="xxx.php?bbc">more</a>  
  <a   href="xxx.php?abc">more</a>  
  Top

6 楼monsterbaby(monsterbaby)回复于 2005-06-10 15:53:23 得分 0

preg_replace??????Top

7 楼eingmarra(eingmarra)回复于 2005-06-13 09:57:28 得分 0

引用php手册的一段:  
  <?php  
  $string   =   "The   quick   brown   fox   jumped   over   the   lazy   dog.";  
   
  $patterns[0]   =   "/quick/";  
  $patterns[1]   =   "/brown/";  
  $patterns[2]   =   "/fox/";  
   
  $replacements[1]   =   "bear";  
  $replacements[2]   =   "black";  
  $replacements[3]   =   "slow";  
   
  print   preg_replace($patterns,   $replacements,   $string);  
   
  //The   bear   black   slow   jumped   over   the   lazy   dog.  
   
   
   
  如果有两个brown会怎样,我要的效果是  
  $string   =   "The   quick   brown   brown   fox   jumped   over   the   lazy   dog.";  
   
  $patterns[0]   =   "/quick/";  
  $patterns[1]   =   "/brown/";  
  $patterns[2]   =   "/brown/";  
  $patterns[3]   =   "/fox/";  
   
  $replacements[0]   =   "bear";  
  $replacements[1]   =   "black";  
  $replacements[2]   =   "red";  
  $replacements[3]   =   "slow";  
   
  //The   bear   black   red   slow   jumped   over   the   lazy   dog.  
  也就是说当有两个brown时我能分别改成不同的值!!!  
   
  Top

8 楼eingmarra(eingmarra)回复于 2005-06-13 11:39:19 得分 25

下例返回值为   $startDate   =   6/19/1969  
   
  <?php  
  $patterns   =   array("/(19|20\d{2})-(\d{1,2})-(\d{1,2})/",   "/^\s*{(\w+)}\s*=/");  
  $replace   =   array("\\3/\\4/\\1",   "$\\1   =");  
  print   preg_replace($patterns,   $replace,   "{startDate}   =   1969-6-19");  
  ?>    
  请高手解释一下,就给20分  
  Top

相关问题

  • 对文件内的字符串检索
  • 请问检索字符串怎么做?
  • 和字符串检索相关的SQl
  • 怎样在vsflexgrid中检索指定的字符串?
  • Who can provide 全文检索的字符串匹配算法(rank, formof...)?
  • 如何在一段文本中检索某个字符串的数量呢?
  • 请教问题:如何在字符串中检索\ ,然后以\\来替换?
  • 字符串.....哎,字符串
  • 用VC如何检索并替换Excel中的字符串(检索是用Range对象的Find、FindNext?替换呢?)
  • 截字符串???

关键词

  • 指针
  • 连接
  • 字符串
  • 变量
  • 相同
  • 过后要把指针对准
  • 找到
  • 位置
  • 中有一些
  • 开始

得分解答快速导航

  • 帖主:monsterbaby
  • reners
  • xuzuning
  • ice_berg16
  • eingmarra

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo