2012-02-28 88 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; 
?>