Как удалить нечитаемые символы в контексте, используя PHP?
Привет, я передаю контекст в zend_lucene_search, и он может искать слово вплоть до специальных символов, и после этого он не доступен для поиска.
например:
very well to the other job boards � one of the main things that has impressed is the variety of the applications, especially with regards to the background of the candidates" manoj � Head
если я ищу "доски", я могу получить их, но если я ищу одну или любую строку после нечитаемых символов, я не могу найти ее.
Как удалить их, и я хочу получить простой текст.
Я получил такие символы при преобразовании файлов.docx / pdf в текст.
ИЛИ ЖЕ
дайте мне знать, как передать только текст в zend_search_lucene..
Пожалуйста помоги.
2 ответа
Вы можете использовать следующие preg_replace
вызов функции для удаления всех не-ASCII (так называемых специальных) символов из вашей строки:
$replaced = preg_replace('/[^\x00-\x7F]+/', '', $str);
// produces this converted text:
// "very well to the other job boards one of the main things that has impressed
// is the variety of the applications, especially with regards to the background of the
// candidates" manoj Head"
Вам может потребоваться преобразовать набор символов обрабатываемой строки в соответствие с набором символов текущего HTML-документа.
Например, если ваш HTML-документ использует UTF-8, вы можете запустить вашу строку через utf8_encode(). В противном случае, если вы не уверены, какой набор символов использовать, попробуйте использовать mb_convert_encoding() и поиграть с некоторыми из наиболее распространенных кодировок.