Tp3.2运行composer安装一个rtf转html的库

客户的一个字段里存的备注是这样的: 

{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
\viewkind4\uc1\pard\lang2052\f0\fs24\'d1\'f9\'c6\'b7\'a3\'baA-AZ01-414
\par
\par } 

这是什么鬼? 看到前面的rtf,有可能是rtf格式文件。

在网上找一个rtf转html的库: https://github.com/henck/rtf-html-php

这库是composer的,之前都是tp里面放到vendor目录下,死活弄不了。

那就先安装composer,

然后在项目根目录下写一个composer.json

{
  "require": {
    "php": ">=5.3.0"    
  }
}

在项目根目录下运行 composer require henck/rtf-to-html

在根目录下出现了下载的henck的包: 

composer.json变成这样,其中https://packagist.phpcomposer.com是国内的映像,提速用的,自己加的。

{
  "require": {
    "php": ">=5.3.0",
    "henck/rtf-to-html": "^1.1"
  },
  "repositories": {
    "packagist": {
      "type": "composer",
      "url": "https://packagist.phpcomposer.com"
    }
  }
}

运行代码,

  $rtf = file_get_contents('d:/a.rtf');
  echo '<pre>';
  echo $rtf;

  $document = new \RtfHtmlPhp\Document($rtf);

  print_r($document);

很不幸,只是把rtf文件内容显示出来了: 

{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
\viewkind4\uc1\pard\lang2052\f0\fs24\'d1\'f9\'c6\'b7\'a3\'baA-AZ01-414
\par
\par } 

然后报错:

Class 'RtfHtmlPhp\Document' not found

怎么办?

在php文件开头加一句:

require $_SERVER['DOCUMENT_ROOT'].'/vendor/autoload.php';

再运行,出来啦:

猜你喜欢

转载自blog.csdn.net/wuzuyu365/article/details/106413114