- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
;15524304]setlocale(LC_CTYPE,"ru_RU.CP1251");
<?
setlocale(LC_CTYPE,"ru_RU.CP1251");
$txt = "бля вобля бляха бля употреблять fff тыбля";
echo $txt."<br>";
$txt = preg_replace("#\bбля\b#i", "ХХХ", $txt);
$txt = preg_replace("#\bfff\b#i", "FFF", $txt);
echo $txt."<br>";
?>
результат
бля вобля бляха бля употреблять fff тыбля
бля вобля бляха бля употреблять FFF тыбля
---------- Добавлено 18.03.2018 в 10:25 ----------
Ну уберите u, у меня просто utf-8
я обязательно попробую. просто последовательно разбираюсь с вашими советами да и читаю про утверждения
---------- Добавлено 18.03.2018 в 10:29 ----------
JonnyB,
спасибо. сработало...
---------- Добавлено 18.03.2018 в 10:32 ----------
Кому смог репку дал. Но одни и те же так часто мне помогают, или я так редко прошу помощи что не всем дает возможность ее поставить!
Спасибо за помощь! Утверждения это интересно!
$txt = preg_replace('/(?:(?<=[^а-я])|^)бля(?=(?:[^а-я]|$))/iuU', 'пип', $txt);
по логике \i - нечувствительность выражения к регистру
но в примере $txt = $txt1 = "бля употреблять бляху бля вобля бля Бля БЛЯ употребля";
Бля и БЛЯ не заменятся... подскажите почему. я что-то не так понимаю?
добавил a-zа-яёA-ZА-ЯЁ но оно не будет влиять на я])|^)бля(?=(?
Скиньте полный пример, где у вас не работает замена
Бля и БЛЯ не заменятся... подскажите почему. я что-то не так понимаю?
Антиматом открываете ящик пандоры:) Нет никого более изобретательного, чем матерщинники некоторый мат которых запикивают автоматом.
б.ля, 6ля, бббллляяяя. blya, bIyа. Мы как-то на паре форумов пробовали вводить антимат, после введения больше времени уходило на допиливание антимата, чем раньше уходило на простую раздачу банов 😂
Регистронезависимое сравнение и пр. операции возможны только при правильно настроенной локали.
Разберётесь с локалью — не будет проблем с регистрами, диакритическими знаками и т.п., и не нужно будет громоздить трёхэтажные регулярки.
А лучше переходить на UTF-8. Пусть будет больше байтов, зато меньше проблем.
Код заменяет только целые слова.
Это для UTF, для 1251 просто удалить модификатор 'u'
$txt = $txt1 = "бля употреблять бляху бля вобля бля Бля БЛЯ употребля";
echo $txt."<br>";
$txt = preg_replace('/(?:(?<=[^a-zа-яёA-ZА-ЯЁ])|^)бля(?=(?:[^a-zа-яёA-ZА-ЯЁ]|$))/i', 'пип', $txt);
echo $txt."<br>";
?>
результат
бля употреблять бляху бля вобля бля Бля БЛЯ употребля
пип употреблять бляху пип вобля пип Бля БЛЯ употребля
Замена не для матов, просто так сложилось что проще показывать на них ))
---------- Добавлено 19.03.2018 в 06:53 ----------
setlocale(LC_CTYPE,"ru_RU.CP1251");
$txt = $txt1 = "бля употреблять бляху бля вобля бля Бля БЛЯ употребля";
echo $txt."<br>";
$txt = preg_replace('/(?:(?<=[^a-zа-яёA-ZА-ЯЁ])|^)бля(?=(?:[^a-zа-яёA-ZА-ЯЁ]|$))/i', 'пип', $txt);
echo $txt."<br>";
?>
тоже не работает.
тоже не работает.
Так что в итоге-то необходимо?
(?:(?<=[^a-zа-яёA-ZА-ЯЁ])|^) - это шедевр)))
Так что в итоге-то необходимо?
выше написано.
(??<=[^a-zа-яёA-ZА-ЯЁ])|^) - это шедевр)))
что вас смущает? если вы владеете достаточными знаниями аргументируйте , а если вы чего-то не понимаете - тогда проходите мимо!