Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Удаление определенного текста на php

35K
17 декабря 2012 года
GrafAtRuss
15 / / 11.09.2010
Народ, могет вопрос и дурацкий, но чет в голову ни чего не лезет, потому и задам.
Есть файл set.txt с содержимым вида:
 
Код:
Киса|Вася|Пуся|Дуся|Кузя|
Должен быть файл вызываемый примерно так:
 
Код:
del.php?text=Дуся
При этом из set.txt должна удалится запись "Дуся|".
Как сей бред реализовать? Что прописать в del.php?
8
17 декабря 2012 года
mfender
3.5K / / 15.06.2005
 
Код:
$tmp = explode("|", file_get_contents("set.txt"));
foreach ($tmp as $key => &$val) {
    if ($val === $_GET["text"])
        unset($tmp[$key]);
}
file_put_contents("set.txt", implode("|", $tmp));
366
18 декабря 2012 года
int
668 / / 30.03.2005
А массив-то зачем?
 
Код:
file_put_contents('set.txt', str_replace("$text|", '', file_get_contents('set.txt')))
8
18 декабря 2012 года
mfender
3.5K / / 15.06.2005
А потому что. Представь, что приходит не "Дуся", а "дусЯ", а в строке помимо "Дуся" есть ещё "ДУСЯ" и "ДуСя". В этом случае проще разобрать строку в массив и проверить не if ($val === $_GET["text"])...., вообще как нибудь if (strtolower($val) === strtolower($_GET["text"])).... и собрать строку обратно из массива.
И вообще правильнее mb_ функции применять.
366
18 декабря 2012 года
int
668 / / 30.03.2005
Лень было писать mb_internal_encoding
Чтобы пришло всё правильно, пусть сам об этом заботится. Да и кто сказал, что его строка регистронезависима?
Ну и есть ещё preg_replace.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог