Вопросы новичков

Dos3
На сайте с 07.01.2011
Offline
363
#811

да текстовку анг он почистить хочет

про удаление он не про регулярку отдельно, а про функцию говорит

не забивай человеку мозг

_Snake_
На сайте с 06.12.2010
Offline
151
#812
Dos3:

про удаление он не про регулярку отдельно, а про функцию говорит
не забивай человеку мозг

Если не нужна выборка, а только проверка по шаблону используются начало и конец строки ^$

babuler
На сайте с 15.02.2008
Offline
360
#813
tomz:
посоветуйте хорошую пп, без з****=)
буду рефом, давно не делал доры решил вернутся

Teasernet.com

Заработок на уникальном контенте (http://uralius.com/copywriting.html) СЕО-Планетарий от Бабулера (http://university-seo.com/plan-konspekt-individualnogo-obucheniya/) ТиЗеРнЕт - находка для новичка (http://uralius.com/teasernet.html)
Dos3
На сайте с 07.01.2011
Offline
363
#814
_Snake_:
Если не нужна выборка, а только проверка по шаблону используются начало и конец строки ^$

не проверка, а удаление лишних символов

нахера тут начало и конец строки если текст весь в одну строку

любишь ты даипаться 😂

_Snake_
На сайте с 06.12.2010
Offline
151
#815
Dos3:
не проверка, а удаление лишних символов

Не удаление, а отбор символов, соответствующих выражению.

Я просто не понимаю, что вам даст такой массив на выходе?

Dos3
На сайте с 07.01.2011
Offline
363
#816

причём тут массив, вот чего ему надо

echo preg_replace("#[^a-z0-9_ .,\?]#i", "", "_Snake_умничает-блять)))");

_Snake_
На сайте с 06.12.2010
Offline
151
#817

Что то типо такого, должно выбрать нормализованные предложения. Не идеально конечно, можно допиливать и допиливать, но под пивасик сойдёт 🍿

$file = file_get_contents(__DIR__.'/1.txt');
preg_match_all('/[A-Z][a-z]{0,19}(?: |,?){1,3}(?:[A-z]{1,20}(?: |,|-){1,3}){4,60}[A-z]{2,20}(?:\.|\?|!)/u',$file, $match);
file_put_contents(__DIR__.'/2.txt', implode("\n",array_unique ($match[0])));

E1
На сайте с 17.04.2012
Offline
65
#818

как сказал Dos3, мне просто надо почистить текстовку англ. от ненужных символов и русских букв)

раньше скриптом этим чистил ру, вот и спросил как переделать, чтобы чистить англ)

Dos3
На сайте с 07.01.2011
Offline
363
#819

_Snake_, такой вопрос, как почистить окончания строк, от "и." ",но" итд, не зная заранее кодировки этого текста ? т.е разная кодировка :)

_Snake_
На сайте с 06.12.2010
Offline
151
#820
Dos3:
не зная заранее кодировки этого текста ? т.е разная кодировка :)

Ну насчёт кодировки это извечная проблема. Криво работает детекст в php... Но в данном случае, насчёт этого не стоит заморачиваться, т.к текст будет браться из файла, а кодировку файла указываешь уже ты. Т.ч весь текст там будет одной кодировки. Можешь сделать чекбок, добавляющий/убирающий модификтор "u", если он тебя смущает :)

Dos3:
_Snake_, такой вопрос, как почистить окончания строк, от "и." ",но" итд

Если ты ссылаешься на мою регулярку, то там это учтено. Естественно она далека от идеала, и в этом я признался честно. Это не защита от дураков и не полноценный текстовый процессор 😂.


[A-Z][a-z]{0,19}(?: |,?){1,3}(?:[A-z]{1,20}(?: |,|-){1,3}){4,60}[A-z]{2,20}(?:\.|\?|!)

[A-Z][a-z]{0,19} - Указывает, что первым будет идти слово из 1-19 букв первая должна быть большой(что указывает на начало предложения)

(?: |,?){1,3} - Дальше, указанно, что должны идти от 1 до 3 пробела или запятых(тут хочу отметить, что я сделал от 1 до 3 потому, что отсекалось много текста, в котором было больше одного пробела вподряд, это можно профиксить, предварительно пройдясь по тексту функцией автозамены "сдвоенных символов", то есть заменит идущие в подряд две запятые на одну, пробельные символы на один и т.д).

(?:[A-z]{1,20}(?: |,|-){1,3}){4,60} Это основная часть, указывающая, что будет браться от 4 до 60 слов, длиной от 1 до 20 букв любого регистра, слова могут иметь такие разделители (?: |,|-){1,3} - тут можно дописывать, например ":" т.д... Я не стал заморачиваться, т.к. контент мне не жалко, собираю не я а программа, пусть режется то, что не подходит 😂

[A-z]{2,20}(?:\.|\?|!) Ну а это уже окончание, которое означает, что перед закрывающим предложение символом(точкой, вопросом, или восклицательным знаком) должно идти слово длиной от 2х до 20ти символов в любом регистре.

Тут конечно можно было, дописать и по умнее, например, учесть сокращения "и т.д." внутри и в конце текста, исключить возможность писать слово "полностью большими буквами", различить дефис от тире, нормализовав отображение слов через тире. Но задача была написать скрипт быстро, чтобы не потратить на его написание столько же времени сколько на чистку в полуавтоматическом режими. Да, я ленивый! 😂

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий