Bir dizenin bir bölümünü silmek nasıl

3 Cevap

Ben bu yüzden böyle bir karakter dize varsa:

Bu bir test dizedir ve ben wa

Ve ben de ben sonra alanı yer alacak "I" sonra her şeyi silmek istedim, ben bunu nasıl yaparım? Ben kesinlikle dize sonunda başlayacak ve son uzay geriye saymak gerekiyor ama bunu nasıl emin değilim.

3 Cevap

Sen kullanarak 'I' sonra her şeyi kaldırabilirsiniz:

$str = 'This is a test string and I wa';
$new_string = substr($str, 0, strpos($str, 'I') + 1);

Not: strpos 'I' karakteri first oluşumunu bulur.

Bir dize içinde bir karakterin son oluşumunu bulmak için bunu kullanın

http://www.php.net/manual/en/function.strrpos.php

$pos = strrpos($mystring, "I");

Sonra substr dize bölmek

http://ca2.php.net/manual/en/function.substr.php

$newstring = substr($mystring, $pos);

Sen gereklilik gerçekten belli değil ... fakat

Eğer 'ben' sonra her şeyi silmek istiyorsanız

$s = 'This is a test string and I wa';
$pos = strpos($s, 'I');
if ($pos !== false)
{
   $s = substr($s, 0, $pos + 1);
}

eğer sonra son alan ve her şeyi kaldırmak isterseniz

$s = 'This is a test string and I wa';
$pos = strrpos($s, ' ');
if ($pos !== false)
{
   $s = substr($s, 0, $pos);
}