Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Php, удалить строки содержащие спецсимволы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: удалить строки содержащие спецсимволы
seoshnik
Отправлено: 22 Февраля, 2015 - 14:27:58
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




Есть txt файлы разного объема.

Нужно удалить строки, содержащие значения ',%,$,@

В файле слова, каждое слово с новой строки

Необходимо именно удалить всю строку, если есть хоть одно значение
 
 Top
Ts.Saltan
Отправлено: 22 Февраля, 2015 - 16:28:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 384
Дата рег-ции: Дек. 2013  
Откуда: Belarus


Помог: 22 раз(а)




1. открыть, прочитать файл // file_get_contents
2. содержимое разбить на массив строк //explode
3. пройтись по каждому элементу массива, условие не соблюдено - удаляем элемент //foreach, strpos, unset
4. объединяем элементы массива // implode
5. записываем данные обратно в файл //file_put_contents

(Отредактировано автором: 22 Февраля, 2015 - 16:29:16)

 
 Top
seoshnik
Отправлено: 22 Февраля, 2015 - 17:40:28
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




Ts.Saltan пишет:
1. открыть, прочитать файл // file_get_contents
2. содержимое разбить на массив строк //explode
3. пройтись по каждому элементу массива, условие не соблюдено - удаляем элемент //foreach, strpos, unset
4. объединяем элементы массива // implode
5. записываем данные обратно в файл //file_put_contents

Можете на моем примере сделать? А то не особо силен в php
 
 Top
likvidator
Отправлено: 22 Февраля, 2015 - 20:17:17
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


 
 Top
skiphog
Отправлено: 22 Февраля, 2015 - 20:36:08
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Дек. 2014  
Откуда: Киров, Россия


Помог: 11 раз(а)




Как варинат
PHP:
скопировать код в буфер обмена
  1. $file = file('file.txt',FILE_IGNORE_NEW_LINES);
  2. $file = array_filter($file,function($value){
  3.   return !preg_match('/\'|%|\$|@/',$value);
  4. });
  5. file_put_contents('file.txt',implode("\n",$file));
 
My status
 Top
seoshnik
Отправлено: 23 Февраля, 2015 - 09:34:33
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




skiphog пишет:
Сделал так
PHP:
скопировать код в буфер обмена
  1. return !preg_match('/\'|%|\$|\&|\-|20|@/',$value);

Но ни как не могу прикрутить, чтобы удаляло >,/
Example
    daily/changefreq>
    /url> sdfsdf


Ступил, вот ответ
PHP:
скопировать код в буфер обмена
  1.   return !preg_match('/\'|%|\$|\&|\-|20|\>|\/|@/',$value);

(Отредактировано автором: 23 Февраля, 2015 - 09:56:15)

 
 Top
skiphog
Отправлено: 23 Февраля, 2015 - 10:39:35
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Дек. 2014  
Откуда: Киров, Россия


Помог: 11 раз(а)




Или так. Без разницы.
PHP:
скопировать код в буфер обмена
  1. return !preg_match('/[\'\$\/%@>&-]|20/',$value);

(Отредактировано автором: 23 Февраля, 2015 - 10:58:51)

 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB