Ошибка чтения файла, извлеченного из tesseract с помощью fopen PHP

Я использую fopen в PHP, чтобы открыть файл, извлеченный из OCR tesseract. Возвращаемый текст содержит <<<<<<, fopen читается до тех пор, пока не найдет первый символ <, а затем останавливается.

Файл возвращен из OCR:

P<dsdasdasd<<dasd<adsda<dsada<<<<<<<<<<ec<
dasdasdsdasdasdasdasd<<<<<<<<<<<<<<06

£ y

Эхо от fopen:

P

Если я просматриваю исходный текст, я нахожу оставшийся текст красным цветом.

Код, который я использовал:

<?php
file_put_contents("tmpFile.jpg",file_get_contents("1.jpg"));
$cmd = "tesseract tmpFile.jpg ee ";
exec($cmd);
$myfile = fopen("ee.txt", "r") or die("Unable to open file!");
$data= fread($myfile,100000000);
fclose($myfile);
echo $data;
?>

Я вставляю текст, о котором идет речь, и он также скрыт.

Скриншот, когда я набираю вопрос и текст, скрытый в вопросе:

Ошибка чтения файла, извлеченного из tesseract с помощью fopen PHP

Скриншот из вывода и источника просмотра:

Ошибка чтения файла, извлеченного из tesseract с помощью fopen PHP

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
44
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Насколько я вижу, проблема не имеет ничего общего с tesseract или вашим входным текстовым файлом.

fopen reads till it finds the first < character then stops

Я не думаю, что это правда. Почему тогда вы видите остальную часть источника в «просмотре источника»? fopen читает весь файл, но проблема заключается в отображении этой информации в вашем браузере.

Вы хотите отображать символы, зарезервированные для HTML-тегов — в данном случае это < («символ меньше»). Вот почему вы получаете красный текст в «просмотре исходного кода», поскольку браузер не знает, как интерпретировать HTML-код.

В качестве первого обходного пути просто поместите тег <textarea> вокруг <?php, чтобы просмотреть данные:

<textarea><?php
/* ...
your regular code here
... */
?></textarea>

Следующим шагом должно быть кодирование этих специальных символов, прежде чем вы отдадите их echo. Взгляните на htmlspecialchars или htmlentities.

Вы также можете найти полезную информацию по теме на:

Думаю, вы должны использовать htmlentities, чтобы вы могли безопасно отображать любые данные.

Xartrick 31.05.2019 00:24

Другие вопросы по теме