摘要:需求最近做一个新闻规范扫描的工具,需要将中的内容读取出来扫描可疑错误词文本,并将错误可疑文本添加背景颜色。内容扫描规范识别不在本文中描述,重点说怎样通过编程语言操作实现文字添加背景色。
需求:最近做一个word新闻规范扫描的工具,需要将wold中的内容读取出来扫描可疑、错误词文本,并将错误可疑文本添加背景颜色。
内容扫描规范识别不在本文中描述,重点说怎样通过编程语言操作word实现文字添加背景色。
为了能快速达到效果,直接在https://github.com/PHPOffice/... 这个项目上扩展的功能:
下载项目目录如下
在路径 phpoffice/phpword/src/PhpWord/ 中新建文件 Template.php
</>复制代码
setWordBgColor($txt, "yellow");
* }
*/
public function setWordArrBgColor($word, $color)
{
self::$wordArr = array_unique($word);
if (!empty(self::$wordArr)) {
self::$color = $color;
$this->tempDocumentHeaders = $this->_replace($this->tempDocumentHeaders);
$this->tempDocumentMainPart = $this->_replace($this->tempDocumentMainPart);
$this->tempDocumentFooters = $this->_replace($this->tempDocumentFooters);
}
}
private function _replace($content) {
return preg_replace_callback(
"/]*)>((?:(?!)[sS])*)]*>((?:(?! )[sS])*)]*>/iUs",
function ($matches) {
// print_r($matches);
if (!empty(trim($matches[3]))) {
$text = $matches[3];
foreach (self::$wordArr AS $value) {
// 判断关键词在字符串中是否存在
if (false !== strpos($text, $value)) {
// 背景色属性
$bgAttr = empty($matches[2])
? " "
: str_ireplace("", "", $matches[2]);
$matches[0] = str_ireplace($value,
"".$bgAttr."".$value." ".$bgAttr."",
$matches[0]);
}
}
if (!empty($matches[0])) {
// 过滤掉空的
$matches[0] = preg_replace("/]*>(?:(?!)[sS])*]*> ]*>/iUs", "", $matches[0]);
}
}
return $matches[0];
},
$content);
}
}
第二部就扩展完成背景色替换功能,接下怎样调用?
</>复制代码
//引入类库
require autoload.php
$path = "./test.docx";
$template = new PhpOfficePhpWordTemplate($path);
$template->setWordArrBgColor(["TMD", "台湾省", "Caonima"], "yellow");
效果
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/29426.html
摘要:修正中文支持的问题,使用前如果发现乱码,需要进行一些修正解决编码问题,会对输入的文字进行编码转化,如果你使用或者编码的话就会出现乱码,如果你用编码,就查找类库中所有方法中的转码将其删除,如果你采用或者编码,使用进行编码转换。 修正 中文支持的问题,使用前如果发现乱码,需要进行一些修正: 解决编码问题,PHPword 会对输入的文字进行utf8_encode编码转化,如果你使用GBK、...
摘要:只对英文起作用,以单词作为换行依据。换句话说,字符串与属性值中的任意位置相匹配。其主要有两个值和。主要具有四个属性值和。或表示红色,表示绿色,表示蓝色,也可取其他数值来指定颜色。 1.文档换行 a.强制一排显示文本,多出的地方切割文本,并加上省略号,三句真言 text-overflow:ellipsis; /*实现溢出时产生省略号的效果, 或者clip表示剪切*/ overflow:h...
在日常中查看使用word,excel,pptx的offic文件是常见之事,想过用使用微软的开发接口,比如一个阅读器Office Web。 什么是 Office Web 查看器? 它是一种创建 Office Web Viewer 链接的服务。Office Web Viewer 链接可在浏览器中打开 Word、PowerPoint 或 Excel 文件,否则这些文件将被下载。您可以轻松地将下载...
阅读 1798·2019-08-30 15:54
阅读 3464·2019-08-26 17:15
阅读 3652·2019-08-26 13:49
阅读 2673·2019-08-26 13:38
阅读 2406·2019-08-26 12:08
阅读 3325·2019-08-26 10:41
阅读 1456·2019-08-26 10:24
阅读 3448·2019-08-23 18:35