There is no license information available for the latest version (1.0.8) of this package.

从word中解析试题

1.0.8 2024-04-02 12:58 UTC

This package is auto-updated.

Last update: 2024-05-02 13:05:45 UTC


README

模板

试卷模板

模板支持word和html,以行为单位进行解析,对于word来说,一个回车,视为一行,对于html来说,一对p标签,视为一行

模板标签

题型

顶格书写,当解析器遇到当前行为如下文字时,认为是题型:

  • 单选题
  • 多选题
  • 判断题
  • 问答题

题型可以省略,当题型省略时,解析器认为当前题目与上一题目是相同的题型

题干

顶格书写,当解析器遇到*开头时,认为是题干,题干可以为多行,也可以包括图片,题干的文字为多行时,仅能在第一行添加*

选项

顶格书写,当解析器遇到A.(大写字母+半角句点)开头时,认为是选择题的选项,选项可以为多行,也可以包括图片,选项的文字为多行时,仅能在第一行添加A.

仅选择题适用

答案

顶格书写,当解析器遇到答案:(汉字答案+英文冒号)开头时,认为是答案,答案为一行时,写在冒号之后,答案为多行或包括图片时,仅能在第一行添加答案:

解析

顶格书写,当解析器遇到解析:(汉字解析+英文冒号)开头时,认为是解析,解析为一行时,写在冒号之后,解析为多行或包括图片时,仅能在第一行添加解析:

安装

composer install jerryaicn/word

使用

将word转换为html

$path = "./example.doxs";
$word = new \Jerryaicn\Word($path);
$word->getContentAsHtml()

从word中解析试题

$path = "./example.doxs";
$wordParser = new WordParser($path);
$wordParser->setDebug(true);
$examParser = new ExamParser();
$examParser->setDebug(true);
$raw = $wordParser->getContentAsHtml();
$result = $examParser->parseFromHtml($raw);

从html中解析试题

$path = "./example.doxs";
$wordParser = new WordParser($path);
$wordParser->setDebug(true);
$examParser = new ExamParser();
$examParser->setDebug(true);
$raw = $wordParser->getContentAsHtml();
$result = $examParser->parseFromHtml($raw);

例子

examples 目录包括完整的示例,使用方法

cd examples
php -S 0.0.0.0:8000

用浏览器打开 http://localhost:8000/exam.htmlhttp://localhost:8000/outline.html