function newphp($asp)
{
  $a=trim(eregi_replace("[^0-9]","",$asp));  
  $char=explode(".",$asp);
  $char[0]="new";
  $char[1]=".php?id=".$a;return $char[0].$char[1];
}echo newphp("abc_1.asp");

解决方案 »

  1.   

    这种办法只能征对我列出的这个列子的字串,可是实际字串还有大量其他的字符啊,要从这个字串中找出特征码 abc_ 和 .asp 中的数字,然后换成 new.php?id=数字
    用一句 eregi_replace 有办法实现吗?
      

  2.   

    简单地说:abc_1.asp 替换成 1 , abc_2.asp 替换成 2 ...
    有很多
      

  3.   

    我用这样不行,帮我看看是什么问题$newstr=ereg_replace("abc_(\d+)\.asp","\\0",$str);
      

  4.   


    <?php$str = 'abc_1.asp abc_2.asp abc_3.asp abc_4.asp ...  abc_500.asp ... ';// 这两个的效果都是一样的
    echo preg_replace("/abc_(\d+)\.asp/i", "new.php?id=\\1", $str);
    echo preg_replace("/(abc_)(\d+)(\.asp)/i", "new.php?id=\\2", $str);// Output
    // new.php?id=1 new.php?id=2 new.php?id=3 new.php?id=4 ...  new.php?id=500 ... 
    ?>