L
ler
Гость
Нужно сделать чтоб замена слов была регистронезависимой. Что допилить?
Сама функция
Сама функция
PHP:
function obtain_word_list(&$orig_word, &$replacement_word)
{
global $bb_cfg;
if (!$bb_cfg['use_word_censor']) return;
if (!$sql = CACHE('bb_cache')->get('censored'))
{
$sql = DB()->fetch_rowset("SELECT word, replacement FROM ". BB_WORDS);
if(!$sql) $sql = array(array('word' => 1, 'replacement' => 1));
CACHE('bb_cache')->set('censored', $sql, 7200);
}
foreach($sql as $row)
{
//$orig_word[] = '#(?<!\S)(' . str_replace('\*', '\S*?', preg_quote($row['word'], '#')) . ')(?!\S)#iu';
$orig_word[] = '#(?<![\p{Nd}\p{L}_])(' . str_replace('\*', '[\p{Nd}\p{L}_]*?', preg_quote($row['word'], '#')) . ')(?![\p{Nd}\p{L}_])#iu';
$replacement_word[] = $row['replacement'];
}
return true;
}