PHP是否只从长字符串中删除一个字母一次?

PHP是否只从长字符串中删除一个字母一次?,php,string,Php,String,我需要从字符串中删除一个字符,例如在下面的文本块中,我需要能够删除一个j djriojnrwadoiaushd 离开: driojnrwadoiaushd试试这个: $needle = 'j'; if (($pos = strpos($str, $needle) !== false) { $str = substr($str, 0, $pos) . substr($str, $pos+strlen($needle)); } 试试这个: $needle = 'j'; if (($pos

我需要从字符串中删除一个字符,例如在下面的文本块中,我需要能够删除一个j

djriojnrwadoiaushd

离开:

driojnrwadoiaushd

试试这个:

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

$needle = 'j';
if (($pos = strpos($str, $needle) !== false) {
    $str = substr($str, 0, $pos) . substr($str, $pos+strlen($needle));
}
只需使用子字符串:

<?php

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

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

echo $str;

?>

只需使用子字符串:

<?php

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

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

echo $str;

?>

返回草堆中第一根针的位置,即字符串中的第一个j。删除该字母非常简单。

返回干草堆中第一根针的位置,即字符串中的第一个j。删除那个字母就很简单了。

退后一步——我知道正则表达式

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

退后一步——我知道正则表达式

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

您还可以使用PHP中的字符串是数组这一事实,并删除与“j”对应的元素:

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

您还可以使用PHP中的字符串是数组这一事实,并删除与“j”对应的元素:

$str[strpos($str, 'j')] = null;
还可以将str_relpace与$count参数一起使用: $str='djriojnrwadoiaushd'; echo str_替换('j','',$str,1)

对不起。。我的错


这里有一个真实的方法:

$str = 'djriojnrwadoiaushd';
$pos = strpos( $str, 'j' );
if( $pos !== FALSE )
{
    echo substr_replace( $str, '', $pos, 1 );
}
还可以将str_relpace与$count参数一起使用: $str='djriojnrwadoiaushd'; echo str_替换('j','',$str,1)

对不起。。我的错


这里有一个真实的方法:

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

有趣的方法。但是,如果没有j,这可能会尝试删除第一个字母。打印时,它会显示firefox无法识别的字符,但出于我的目的,它可以工作。您只是用null覆盖j,而不是删除它吗?听起来你必须拆分字符串,并重新连接开头和结尾,去掉你想删除的字符。这是一个有趣的方法。但是,如果没有j,这可能会尝试删除第一个字母。打印时,它会显示firefox无法识别的字符,但出于我的目的,它可以工作。您只是用null覆盖j,而不是删除它吗?听起来,你必须拆分字符串,并重新开始和结束,留下你想删除的字符。你应该考虑调用PrggQuoTo()在$StruttRoePoT上,否则可能会发生奇怪的事情,例如$StruttRoopeS.*你应该考虑调用PREGGYQUE()。在$stringToReplace上,否则您可能会发生奇怪的事情,例如,如果$stringToReplace是。*最后一个参数不限制替换的数量,它会计算替换的数量。最后一个参数不限制替换的数量,这算上了。把这个和米沙克的答案结合起来会很好。把这个和米沙克的答案结合起来会很好。