PHP sadece bir kez uzun bir dizeden tek bir mektup kaldırılsın mı?

6 Cevap php

Ben j en BİRİNİ kaldırmak mümkün olması gerekir aşağıdaki metin bloğunda örneğin, bir dizeden tek bir karakter kaldırmak gerekir.

djriojnrwadoiaushd

bırakarak:

driojnrwadoiaushd

6 Cevap

You can also use str_relpace with the $count parameter: $str = 'djriojnrwadoiaushd'; echo str_replace('j', '', $str, 1);

Ups .. benim kötü üzgünüm.


İşte gerçek bir yoludur:

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

Sadece alt dizeleri kullanın:

<?php

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

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

echo $str;

?>

Bu deneyin:

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

Geri çekil - Düzenli ifadeler biliyorum;

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

strpos(), yani samanlıkta ilk iğnenin pozisyonunu geri gönderir. Lütfen dize ilk j. Bu sadece o mektubu kaldırmak için sonra oldukça basit.

Ayrıca PHP dizeleri diziler olduğu gerçeğini kullanın ve 'j' karşılık elemanı kaldırabilirsiniz:

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