[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как найти и удалить из строки лишь одно значение?
Strannik
Добрый день.

Код:
$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){

//найдено значение $test2
//как теперь удалить одно значение $test2

}
elseif($substr_count2>0){

//найдено значение test2$
//как теперь удалить одно значение test2$

}


Подскажите как удалить лишь одно значение?
inpost
str_replace.
Если дополнительные символы, то регулярным выражением...

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Игорь_Vasinsky
а для чего это?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Placido
Если я правильно понял задачу (удалить дубликаты $id в строке)
$str='test2$test2$test3$test3$test4';
$id = 'test2';
$str = explode('$', $str);
for ($i = 0, $count = count($str); $i < $count - 1 ;$i++) {
if ($str[$i] === $id and $str[$i] === $str[$i+1])
unset($str[$i]);
}
echo implode('$', $str);
Strannik
народ нужно удалить либо одно значение test2$(если оно существует в строке) либо одно значение $test2(если оно существует в строке).

Нужно удалить только одно значение, а не все значения test2$ или $test2 в строке..
Alteranin
Блин я запутался sad.gif
Strannik
если в строке есть значение test2$, то удаляем его(только один раз, а не все значения test2$ в строке)
иначе если нет test2$, то если в строке есть значение $test2, то удаляем его(только один раз, а не все значения $test2 в строке).

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



Вопрос снят.
Valick
Цитата
Вопрос снят

не факт...
вы бы лучше рассказали как у вас образуется такая строка, что такое $test2 и какова сущность происходящего


_____________
Стимулятор ~yoomoney - 41001303250491
Invis1ble
Цитата (Valick @ 1.12.2012 - 12:58)
Цитата
Вопрос снят

не факт...
вы бы лучше рассказали как у вас образуется такая строка, что такое $test2 и какова сущность происходящего

точняк. имхо, ТС мутит какой-то велик с квадратными колесами biggrin.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.