0

コード:

$str = 'test2$test2$test3$test3$test4';
$id = 'test2';

$idの値を見つけて、文字列内の位置test2に応じて$test2またはtest2$を削除する必要があります。

次を使用して検索するには:

$substr_count1 = substr_count ($str, '$test2');
$substr_count2 = substr_count ($str, 'test2$');
if ($substr_count1> 0) {
//if exist $test2 then need delete single value $test2 from row and row will be
// $str = 'test2$test3$test3$test4'
// find the value of $test2
// how to remote one value $test2
}
elseif ($substr_count2> 0) {
//if exist test2$ then need delete single value test2$ from row and row will be
// $str = 'test2$test3$test3$test4'
// find the value of test2$
// how to remote one value test2$
}

単一の値を削除するには?

4

2 に答える 2

2

文字列をexplode()取得し、要素を削除して、implode()元に戻します。

$str = 'test2$test2$test3$test3$test4';
$id = 'test2';

$array = explode('$', $str);

$result = implode('$', array_diff($array, array($id)));

var_dump($result);

続きを読む:

于 2012-12-01T09:36:38.210 に答える
0

存在する場合は「$test2」の最初の出現を置き換える必要があり、存在しない場合は「test$」の最初の出現を置き換える必要があります。

$str = 'test2$test2$test3$test3$test4';
$id = 'test2';

$position1=strpos($str,'$'.$id);
$position2=strpos($str,$id.'$');

//if the first occurence is the '$test2':
if($position1<$position2)
{
$str= preg_replace('/'.'\$'.$id.'/', '', $str, 1);
}
//If the first occurence is the 'test$'
else
{
$str= preg_replace('/'.$id.'\$'.'/', '', $str, 1);
}

echo $str;
于 2012-12-01T09:34:10.007 に答える