Перелопатил мато фильтр

Главные вкладки

Аватар пользователя selff@drupal.org selff@drupal.org 5 августа 2010 в 15:32

Не знаю как вас а меня модуль wordfilter заколебал, ага, он в слове заколебал заменяет последнюю часть слова на букву е.
Поэтому я с ним поступил так:

заменяем функцию wordfilter_filter_process:

<?php
function wordfilter_filter_process($text) {
  
$text ' '$text .' ';
  
$list _wordfilter_list();
  
$utf8 variable_get('wordfilter_use_utf8_flag'FALSE);
  foreach (
$list as $word) {
    
// Prevent mysterious empty value from blowing away the node title.
    
if (!empty($word->words)) {
      
$replacement = ($word->replacement) ? $word->replacement variable_get('wordfilter_default_replacement''[filtered word]');
      if (
$word->standalone) {
        
$pattern '/([^a-zA-Zа-яё])'preg_quote($word->words'/') .'([^a-zA-Zа-яё])/i';
        
$pattern_l '/'preg_quote($word->words'/') .'([^a-zA-Zа-яё])/i';
        
$pattern_r '/([^a-zA-Zа-яё])'preg_quote($word->words'/') .'/i';
      }
      else {
        
$pattern '/'preg_quote($word->words'/') .'/i';
      }
      if (
$utf8) {
        
$pattern .= 'u';
      }
      
$split_text preg_split('/(<[^>]*>)/i'drupal_substr($text1, -1), -1PREG_SPLIT_DELIM_CAPTURE);
      
$split_text array_values(array_filter($split_text));
      if (
count($split_text) > 1) {
        
$new_string '';
        foreach (
$split_text as $key=>$part) {
          if (!
preg_match('/^</'$part)) {
            if ((
0==$key) && (true==$word->standalone))
              
$new_string .= preg_replace($pattern_l"\${1}"$replacement ."\${2}"$part);
            elseif (((
count($split_text)-1)==$key) && (true==$word->standalone))
              
$new_string .= preg_replace($pattern_r"\${1}"$replacement ."\${2}"$part);
            else
              
$new_string .= preg_replace($pattern  "\${1}"$replacement ."\${2}"$part);
          }
          else {
            
$new_string .= $part;
          }
        }
        
$text ' '$new_string .' ';
      }
      else {
        
$text preg_replace($pattern  "\${1}"$replacement ."\${2}"$text);
      }
    }
  }
  
$text drupal_substr($text1, -1);
  return 
$text;
}
?>

Комментарии