如何使用php读取docx文件中图像的超链接以及页眉和页脚的内容?

Posted

技术标签:

【中文标题】如何使用php读取docx文件中图像的超链接以及页眉和页脚的内容?【英文标题】:How to read hyperlinks of image, and content of header and footer in docx file using php? 【发布时间】:2012-09-24 04:53:52 【问题描述】:

我在使用 php 读取 docx 文件中的图像超链接时遇到问题。我也无法在同一个 docx 文件中读取页眉和页脚的内容。我发现 PHPDOCX 是处理 DOCX 文件的近邻,但我仍然找不到这个答案。 您的帮助将不胜感激。 提前谢谢你。

纳瓦拉杰

【问题讨论】:

【参考方案1】:

不确定 docx,但它适用于 doc,请在下面尝试

function parseWord($userDoc) 
        
            $fileHandle = fopen($userDoc, "r");
            $line = @fread($fileHandle, filesize($userDoc));   
            $lines = explode(chr(0x0D),$line);
            $outtext = "";
            foreach($lines as $thisline)
              
                $pos = strpos($thisline, chr(0x00));
                if (($pos !== FALSE)||(strlen($thisline)==0))
                  
                   else 
                    $outtext .= $thisline." ";
                  
              
             $outtext = preg_replace("/[^a-zA-Z0-9\s\,\.\-\n\r\t@\/\_\(\)]/","",$outtext);
             return $outtext;

         
        $text = parseWord("1.doc");
        echo $text;

它将识别超链接,然后您可以使用简单的逻辑。页眉和页脚也被拉出

【讨论】:

感谢您的回复Joelle,我测试了上面的代码,发现它可以识别常规文本而不是图像内的超链接,是这样吗?以前我使用以下正则表达式进行正常的超链接检测。 $str = preg_replace( '/(http|ftp)+(s)?:(\/\/)((\w|\.)+)(\/)?(\S+)?/i', '\4', $str);无论如何,非常感谢您的帮助。 好吧,我已经将它用于普通的文本解析......你当然可以修改正则表达式以使其适用于图像

以上是关于如何使用php读取docx文件中图像的超链接以及页眉和页脚的内容?的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB中图像的基本操作

无法读取 C 中图像的所有字节 [重复]

如何获取相册中图像的图像文件名和标签?

ios中图像的ScrollView

OpenCV中图像的读取,显示与保存

将反应项目部署到 github 页面面临公共文件夹中图像的问题