如果你想把->这个去掉,用str_replace就行啊

解决方案 »

  1.   

    正则就可以了嘛,用得着函数吗?
    $new_text=eregi_replace("\->","",$text);
      

  2.   

    只去掉最后面的
    "知识库->快食行业->豆奶制品->维维豆奶->->->->->->"
    变成
    "知识库->快食行业->豆奶制品->维维豆奶"
      

  3.   

    $str = "知识库->快食行业->豆奶制品->维维豆奶->->->->->->";
    echo eregi_replace("(\->){2,}","",$str);
      

  4.   

    to  : yuepengfei(刁馋) 
    很好,偶的办法好笨,帮助上对这个函数解事不详细
    能不能说说
      

  5.   

    正则表达式的功能很强大的。改进一下写法:
    <?
    $str = "知识库->快食行业->豆奶制品->维维豆奶->->->->->->";
    echo eregi_replace("(\->){1,}$","",$str);
    ?>这样的话如果$str = "知识库->快食行业->豆奶制品->维维豆奶->";
    也会显示成知识库->快食行业->豆奶制品->维维豆奶
    (\->){1,}$代表把以"->"结尾的一个或者多个"->"替换掉,"\"为转意符,$代表结尾,建议你看看正则表达式的东西,很有用的,如果手头没有资料,直接搜索就可以了
      

  6.   

    改成这样,用正则并不能解决所有问题。递归是很有用的
    <?php
    function RtrimStr($source,$str){
    //特定字符串长度
    $num = strlen($str);
    if (substr($source,-$num) == $str ){
    //echo "test";
    $allstr = substr($source,0,(strlen($source)-$num));

    if (substr($allstr,-$num) == $str ){
    //开始递归
    return RtrimStr($allstr,$str);
    }
    }
    return $allstr;}echo RtrimStr("知识库->快食行业->豆奶制品->维维豆奶->->->->->->","->");
    ?>