2016-07-20 74 views
0

在PHP中,我試圖用substr函數刪除一個特定的詞。刪除substr的一個詞

的方式,我上來是這樣的:

$haystack = "/home/{i:id}/{s:aString}"; 
$needle = "{i:id}"; 

if ($position = strpos($haystack, $needle)) {...} 
  • 計算這個詞的最後一個字符用substr

    • 檢查這個詞實際上是字符串中存在

      $haystack = "/home/{i:id}/{s:aString}"; 
      $needle = "{i:id}"; 
      
      if ($position = strpos($haystack, $needle)) { 
          $rpos = strpos($haystack, substr($needle, -1), $position); 
          ... 
      } 
      
    • 使用打印出單詞再次

      $haystack = "/home/{i:id}/{s:aString}"; 
      $needle = "{i:id}"; 
      
      if ($position = strpos($haystack, $needle)) { 
          $rpos = strpos($haystack, substr($needle, -1), $position); 
      
          echo substr($haystack, $position, $rpos); 
      } 
      

    當運行這段代碼,它去除整個單詞,但停止的方式來晚了,它也需要在字符串的其餘5個字符。

    我該如何解決這個問題,所以它只會用我找的字?

  • +0

    你想刪除單詞嗎?如果是這樣,你應該使用'str_replace()'? –

    +0

    @eskimo這不是我想要實現的。 – Bas

    +0

    [在一個字符串中替換佔位符變量]的可能的重複(http://stackoverflow.com/questions/15773349/replacing-placeholder-variables-in-a-string) – wazelin

    回答

    0

    我沒有足夠的聲望,因此張貼答案。試試這個,

    <?php 
    $sentence = "I want to remove all the common words from this sentence because they are irrelevant"; 
    $common_words = array("to ", "this ", "all ", "the ", "from "); 
    
    $newphrase = str_replace($common_words, "", $sentence); 
    echo "Actual Word : ".$sentence."\n\nNew Word : ".$newphrase; 
    ?> 
    

    讓我知道它是否有幫助。

    +0

    請看看http://php.net/manual/en/function.str-replace.php它可能有助於改善你的答案。 – Kruser