使用fopen PHP

时间:2019-05-30 21:42:46

标签: php tesseract

我在PHP中使用fopen打开从tesseract OCR中提取的文件。返回的文本包含<<<<<<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;
?>

我粘贴了有问题的文本,它也被隐藏了。

我输入问题时的屏幕截图,以及隐藏在问题中的文本:

enter image description here

来自输出和视图源的屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:0)

据我所知,该问题与tesseract或您的输入文本文件无关。

  

fopen读取直到找到第一个<字符,然后停止

我认为那不是真的。那么,为什么您会在“查看源代码”中看到其余的源代码呢? fopen读取了整个文件,但问题在于在浏览器中显示该信息。

您要显示为HTML标记保留的字符-在这种情况下为<(“小于”符号)。这就是为什么您在“查看源代码”中看到红色文本的原因,因为浏览器不知道如何解释HTML代码。

作为第一种解决方法,只需在<textarea>周围放置一个<?php标记即可查看数据:

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

下一步应该是对那些特殊字符进行编码,然后再将其提供给echo。看看htmlspecialcharshtmlentities

您还可以在以下位置找到有关该主题的有用信息: