Удаление строчек содержащие анг буквы.

Статус
В этой теме нельзя размещать новые ответы.

Anton

¯\_(ツ)_/¯
Регистрация
28 Авг 2007
Сообщения
675
Реакции
691
После парсинга вордстата или после выборки с пастуховской ру базы, попадаются мусорные запросы типа:
тралала phpbb
тралала vbulletin
тралала yabb и тд.

Удаляем все это простым скриптегом

PHP:
<?php 

$array = file('key.txt'); $file = fopen('result.txt', 'w'); foreach ($array as $string) { if (!preg_match('%[a-z]+%', $string)) { fwrite($file, $string); } } fclose($file);
?>

Спасибо человеку что помог со скриптом сегодня в чате, правда забыл его ник)))
 
Можно так же юзать Для просмотра ссылки Войди или Зарегистрируйся, там подобные задачи решаются в пару кликов. А для фильтрации кеев ему вообще замены нет.
:ay:
 
для этих целей удобней пользовать програмку keywordkeeper. в качестве параметров указываем буквы англ алфавита :)
 
А можете подсказать как сделать это же, но только не для кеев, а для всего текста? Т.е. нужна регулярка которая бы проверила каждое слово, если в нем есть английские буквы удалить, иначе оставить.
2PocketDevil Если знаешь как это сделать на TextPipe буду оч. признателен за помощь. Там вообще темный лес, как я не пытался разобраться в регулярке...
 
Код навскидку. Текст разбивается по пробелам, знаки пунктуации "лепятся" к словам, что в принципе не мешает проверке и помогает избежать проблем со склеиванием обратно. Минус, который следует из-за такого подхода: если слово внутри текста содержит англ букву и при этом после него стоит знак препинания, то слово будет удалено вместе со знаком. Особенно критично, имхо, когда англ символ попадется в слове, которое стоит последним в предложении.
PHP:
<?
    $text = file_get_contents("text.txt");
    $words = explode(" ", $text);
    $file = fopen("result.txt", "w+");
    foreach ($words as $word) {
    	if (!preg_match('%[a-z]+%', $word)) {
    		fwrite($file, $word." ");
    	}
    }
    fclose($file);
?>
 
можете выбрать search and replace -> указать список англ букв и заменить их на пустой символ (стереть)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху