Мой вариант для HTML:[CODE]if (isset ($arElement[$value]) && strlen($arElement[$value]) > 0) {
// Убираем HTML-теги
$arFields["BODY"] = \CSearch::KillTags($arFields["BODY"]);
$arElement[$value] = \CSearch::KillTags($arElement[$value]);
// Убираем переносы строк
$arFields["BODY"] = preg_replace('|[\s]+|s', ' ', $arFields["BODY"]);
$arElement[$value] = preg_replace('|[\s]+|s', ' ', $arElement[$value]);
// Убираем непечатные HTML-символы типа неразрывного пробела
$arFields["BODY"] = preg_replace("/?[a-z0-9]+;/i","",$arFields["BODY"]);
$arElement[$value] = preg_replace("/?[a-z0-9]+;/i","",$arElement[$value]);
// Схлопываем множественные пробелы
$arFields["BODY"] = preg_replace('/\s+/', ' ', $arFields["BODY"]);
$arElement[$value] = preg_replace('/\s+/', ' ', $arElement[$value]);
// Удаляем
$arFields["BODY"] = str_replace(\CSearch::KillTags($arElement[$value]), "", \CSearch::KillTags($arFields["BODY"]));
}
[/CODE]
// Убираем HTML-теги
$arFields["BODY"] = \CSearch::KillTags($arFields["BODY"]);
$arElement[$value] = \CSearch::KillTags($arElement[$value]);
// Убираем переносы строк
$arFields["BODY"] = preg_replace('|[\s]+|s', ' ', $arFields["BODY"]);
$arElement[$value] = preg_replace('|[\s]+|s', ' ', $arElement[$value]);
// Убираем непечатные HTML-символы типа неразрывного пробела
$arFields["BODY"] = preg_replace("/?[a-z0-9]+;/i","",$arFields["BODY"]);
$arElement[$value] = preg_replace("/?[a-z0-9]+;/i","",$arElement[$value]);
// Схлопываем множественные пробелы
$arFields["BODY"] = preg_replace('/\s+/', ' ', $arFields["BODY"]);
$arElement[$value] = preg_replace('/\s+/', ' ', $arElement[$value]);
// Удаляем
$arFields["BODY"] = str_replace(\CSearch::KillTags($arElement[$value]), "", \CSearch::KillTags($arFields["BODY"]));
}
[/CODE]