2012-02-28 47 views
1

下面是我如何在PHP 5.3.10PHP的strstr()函数替换

<?php 
$string = '25_testing'; 
$test = strstr($string, '_', true); // As of PHP 5.3.0 
echo $test; // prints 25 
?> 

那么使用的strstr在我的本地一个例子,我上传了我的文件,我的托管服务器上,但他们正在运行关闭PHP 5.2,所以函数strstr($string, '_', true)不起作用。有没有其他方法可以用来获得相同的结果?

+0

奇,该功能一直在PHP自V4。不应该有任何运营差异。它如何“不适合你”?什么都不回来? 25以外的东西? – 2012-02-28 15:16:36

+0

我得到:PHP警告:strstr()的参数数量错误。所以我可以拿出真实的参数,但这会给我一个不同的结果,我需要在那里抓住字符之前的下划线 – Drew 2012-02-28 15:22:08

+0

啊。卫生署。它就在那里的文档。第三个参数是在PHP 5.3中添加的。我会慢慢溜进一个角落,喝点咖啡,醒来。 – 2012-02-28 15:27:42

回答

2

尝试......

首先,你以后“_”(包括自身)返回字符串,然后用什么替代它。不是很漂亮,但它的工作原理;)

<?php 
    $string = "25_testing"; 
    echo str_replace(stristr($string,"_"),"",$string); 
?> 

<?php 
    $string = "25_testing"; 
    echo str_replace(strstr($string,"_"),"",$string); 
?> 
0

删除true,并在结果的末尾切断针的长度。

1

你可以使用组合的strpossubstr

<?php 
$string = '25_testing'; 
$test = substr($string, 0, strpos('_')); //maybe check if strpos does not return FALSE 
echo $test; 
?>