2009-05-07 119 views

回答

4

您還可以使用str_relpace與$ count參數: $ str ='djriojnrwadoiaushd'; echo str_replace('j','',$ str,1);

Ups,對不起..我的壞。


這裏是一個真正的方法:

$str = 'djriojnrwadoiaushd'; 
$pos = strpos($str, 'j'); 
if($pos !== FALSE) 
{ 
    echo substr_replace($str, '', $pos, 1); 
} 
+0

最後一個參數不限制替換次數,它會對它們進行計數。 – 2009-05-07 08:21:02

1

試試這個:

$needle = 'j'; 
if (($pos = strpos($str, $needle) !== false) { 
    $str = substr($str, 0, $pos) . substr($str, $pos+strlen($needle)); 
} 
+0

這與mishac的回答組合是整齊。 – 2009-05-07 08:39:01

3

只需使用字符串:

<?php 

$str = 'djriojnrwadoiaushd'; 
$remove = 'j'; 

$index = strpos($str, $remove); 
if ($index !== false) 
    $str = substr($str, 0, $index) . substr($str, $index + 1); 

echo $str; 

?> 
0

strpos()返回乾草堆中第一針的位置,即。字符串中的第一個j。刪除那封信很簡單。

2

後退 - 我知道正則表達式;

$newString = preg_replace("/".preg_quote($stringToReplace)."/", '', $inputString, 1); 
+0

您應該考慮在$ stringToReplace上調用preg_quote(),否則可能會發生奇怪的事情,例如,如果$ stringToReplace是。* – 2009-05-07 08:07:16

+0

非常真實。謝謝湯姆。發佈編輯以反映這一點。 – PaulJWilliams 2009-05-07 08:20:25

0

你也可以使用一個事實,即在PHP字符串數組,並刪除相應的「J」的元素:

$str[strpos($str, 'j')] = null; 
+1

有趣的方法。但是,如果沒有j,這可能會嘗試刪除第一個字母。 – thomasrutter 2009-05-07 08:01:43

+0

當它被打印時,它顯示一個字符firefox不能識別,但爲我的目的,它的作品。 – Sam152 2009-05-07 08:53:38

+0

這不適用於多字節字符。 – Gumbo 2009-05-07 09:11:31

相關問題