- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Имеем текст ($txt):
Надо грохнуть из текста все одиночные символы с точками после них (т.е. инициалы), кроме соответственно концов предложений. Предполагаем что инициал это одна буква перед которой пробел и т.п., а после нее точка.
Конструкция:
$txt = preg_replace("~[ \n\r\t]+[а-яА-Яa-zA-Z][\.]~"," ", $txt);
Что я делаю не так?
echo preg_replace("#\s?[А-ЯA-Z]\.#su","", "В. Пупкин, Ф. Васькин, С.М. Дедкин и Н. С. Федоров, and also John F. Kennedy пошли гулять по Детройту. Вернулись не все.");Блин сам допер уже - именно u, тем смешнее выглядит, что ночи не прошло как прикалывался на bearman в абсолютно аналогичном топике...
Лошара ми кантара...
Надо спать!...
echo preg_replace("#\s?[А-ЯA-Z]\.#su","", "В. Пупкин, Ф. Васькин, С.М. Дедкин и Н. С. Федоров, and also John F. Kennedy пошли гулять по Детройту. Вернулись не все.");Такая регулярка может поудалять лишнего, например, если в конце предложения встретиться большая буква.
Лучше сделать "#[\s\.][А-ЯA-Z]\.#su"
scorpion061181, понимаете что написали?
Что касается решения проблемы предложенной вами, я бы поступил так
echo preg_replace("#\s?[А-ЯA-Z]\..\.?#su"," ", "В. Пупкин, Ф. Васькин, С.М. Дедкин и Н. С. Федоров, and also John F. Kennedy пошли гулять по Детройту. Вернулись не все. Ы.");топик добра!
Мозг не варит, спать охота сильно. Да и в регулярках не сильно силен. Поэтому провел эксперимент.
Исходный текст: "Пришел МеДвеД. В лес. Ы."
"#\s?[А-ЯA-Z]\.#su". Результат:
"Пришел МеДве В лес."
"#\s?[А-ЯA-Z]\..\.?#su". Результат:
"Пришел МеДвеВ лес. Ы."
"#[\s\.][А-ЯA-Z]\.#su". Результат:
Пришел МеДвеД. В лес.
Думаю мы оба не совсем правы.
сейчас глаза продиру, придумаю вам регулярку если не забуду :)
bearman добавил 20.01.2010 в 17:38
я в регулярках тоже не силен, провел эксперимент