$str = "awfeaebedsb";$str是这样的一个字符串,我想把其中第一次出现的a替换成“我“第一次出现的b替换成"你“其它的保持不变,
替换后如这样
$newstr = "我wfeae你edsb";
如何写这个函数呢?
请高手指点。

解决方案 »

  1.   

    同样的问题为何发两遍?$str = "awfeaebedsb";
    echo preg_replace(array('/a/','/b/'), array('我','你'), $str, 1);我wfeae你edsb
      

  2.   


    哥们,你太强大了。。本来我是想用 
    stripos
    再用
    str_replace()效率太低了。。另外他发两次是因为两个类别
      

  3.   

    header('Content-type: text/html; charset=utf-8');
    $str = "awfeaebedsb";
    $model='/^a.*bedsb/';
    $b=preg_replace($model,'我wfeae你edsb',$str);
    echo $b;
    我写的是不是太烂了。囧
      

  4.   

    能用系统函数解决的尽量不用正则。
    这个用str_replace完全可以解决问题。3楼是对的。要坚持
      

  5.   

    $str = "awfeaebedsb";
    $str=str_replace($str,"我",(stripos($str,a));
    $str=str_replace($str,"你",(stripos($str,b)));
    echo $str;效率低还是sf牛。默写一遍便于记住$str=pre_replace(array('/a'/,'/b'/),$array('我','你'),$str,1);
      

  6.   

    preg_replace快还是str_replace快?
      

  7.   

    preg正则一直是比str类的效率低。
      

  8.   

    最好用系统的函数、不用正则,楼上兄弟们说的极是。。
    --reply by CSDN Study V1.0.0.3 (starts_2000)
      

  9.   

    用字符串处理函数
    $str = "awfeaebedsb";
    $a = strpos($str,"a");
    $b = strpos($str,"b");
    $str = substr_replace($str,"我",$a,1);
    $str = substr_replace($str,"你",$b,1);
    echo $str;