как удалить нечитаемые символы в контексте с помощью 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..



Пожалуйста, помогите.

739   2  

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() и поиграть с некоторыми из наиболее распространенных наборов символов.

Comments

    Ничего не найдено.