2012-05-08 59 views
1

我需要找出字符串中最後一個字符的位置是哪個字符空間的位置,並將其從中斷開。這是我正在使用的函數,但if語句似乎有問題,但我無法弄清楚什麼。 $ text-string中肯定有一個空格。試圖切斷最後一個字符的空間

假設我有一個字符串「嘿,我的名字是Joh」。那麼它必須縮短爲「嘿,我的名字是」。

$checkLastChar = false; 
$text = $line[2]; 

while($checkLastChar != true){ 
    for($i = 1; $i <= strlen($text); $i++) 
    { 
     if($text[strlen($tekst) - $i] == " ") { 
       $checkLastChar = true; 
      $text = substr($text, 1, strlen($text) - $i); 
     } 
    } 
} 
+0

那麼你要剪切多少個字符? – itachi

+0

這將取決於字符串,有時可以是1,其他時間5. – Veltar

+0

以下是您將如何操作的方法。想想要切割的弦將出現的模式。如果沒有確定的模式,就不可能回答你的問題。 – itachi

回答

5
substr($string, 0, strrpos($string, ' ')); 
2

爲什麼不使用rtrim()

更新

基於澄清a solution like Nate的似乎是更合適的。

+0

嗯,它並不總是最後一個字符,它可以是最後的第三個字符,然後它必須縮短,直到該字符。我會更新這個問題以使其更清楚。 – Veltar

+2

這個答案實際上是你要求的。下次從一開始就清楚。 – itachi

+0

我認爲他不只是想要刪除空間,我認爲他希望在刪除空間後出現每個角色。 –

0

你有沒有考慮過使用trim()?它從開始和結束剝離空格。

例子:

echo trim(' Hello my name is Matt. '); 
+0

從開始和結束削減。 – itachi

0

試試這個:

<?php 
$str = "dsajhc \tsjdtgsd "; // string with whitespaces 
$str = preg_replace('/(\s+.*)/i', '', $str); // remove everything after whitespace 
?> 

希望它能幫助。

相關問題