- Код: Выделить всё
бля* -> бл.$2
*пизд* -> $2п.зд$3
- Код: Выделить всё
function get_censor_preg_expression($word, $use_unicode = true)
- Код: Выделить всё
// Replace asterisk(s) inside the pattern, at the start and at the end of it with regexes
$word = preg_replace(array('#(?<=[\p{Nd}\p{L}_])\*+(?=[\p{Nd}\p{L}_])#iu', '#^\*+#', '#\*+$#'), array('([\x20]*?|[\p{Nd}\p{L}_-]*?)', '[\p{Nd}\p{L}_-]*?', '[\p{Nd}\p{L}_-]*?'), $word);
...
// Replace the asterisk inside the pattern, at the start and at the end of it with regexes
$word = preg_replace(array('#(?<=\S)\*+(?=\S)#iu', '#^\*+#', '#\*+$#'), array('(\x20*?\S*?)', '\S*?', '\S*?'), $word);
- Код: Выделить всё
// Replace asterisk(s) inside the pattern, at the start and at the end of it with regexes
$word = preg_replace(array('#(?<=[\p{Nd}\p{L}_])\*+(?=[\p{Nd}\p{L}_])#iu', '#^\*+#', '#\*+$#'), array('([\x20]*?|[\p{Nd}\p{L}_-]*?)', '([\p{Nd}\p{L}_-]*?)', '([\p{Nd}\p{L}_-]*?)'), $word);
...
// Replace the asterisk inside the pattern, at the start and at the end of it with regexes
$word = preg_replace(array('#(?<=\S)\*+(?=\S)#iu', '#^\*+#', '#\*+$#'), array('(\x20*?\S*?)', '(\S*?)', '(\S*?)'), $word);
Добавлено спустя 29 минут 27 секунд:
Еще позаменял
- Код: Выделить всё
(' . $word . ')
- Код: Выделить всё
(?:' . $word . ')
- Код: Выделить всё
бля* -> бл.$1
*пизд* -> $1п.зд$2