PHPackages                             jerryaicn/word - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. jerryaicn/word

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

jerryaicn/word
==============

从word中解析试题

1.0.8(2y ago)015PHP

Since Feb 1Pushed 1y ago1 watchersCompare

[ Source](https://github.com/jerryaicn2023/word)[ Packagist](https://packagist.org/packages/jerryaicn/word)[ RSS](/packages/jerryaicn-word/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (10)Used By (0)

说明文档
====

[](#说明文档)

模板
--

[](#模板)

### 试卷模板

[](#试卷模板)

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

#### 模板标签

[](#模板标签)

##### 题型

[](#题型)

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

- `单选题`
- `多选题`
- `判断题`
- `问答题`

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

##### 题干

[](#题干)

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

##### 选项

[](#选项)

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

> 仅选择题适用

##### 答案

[](#答案)

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

##### 解析

[](#解析)

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

安装
--

[](#安装)

```
composer install jerryaicn/word

```

使用
--

[](#使用)

### 将word转换为html

[](#将word转换为html)

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

```

### 从word中解析试题

[](#从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中解析试题

[](#从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.html` 和 `http://localhost:8000/outline.html`

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance27

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~7 days

Recently: every ~2 days

Total

9

Last Release

768d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/97eacd16a7921da422c16ea2a47e76843d64a157d46b9387cbb21440e75c35de?d=identicon)[post70s](/maintainers/post70s)

---

Top Contributors

[![jerryaicn2023](https://avatars.githubusercontent.com/u/142473427?v=4)](https://github.com/jerryaicn2023 "jerryaicn2023 (14 commits)")

### Embed Badge

![Health badge](/badges/jerryaicn-word/health.svg)

```
[![Health](https://phpackages.com/badges/jerryaicn-word/health.svg)](https://phpackages.com/packages/jerryaicn-word)
```

###  Alternatives

[mtdowling/jmespath.php

Declaratively specify how to extract elements from a JSON document

2.0k472.8M135](/packages/mtdowling-jmespathphp)[opis/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary data.

2.6k230.0M283](/packages/opis-closure)[masterminds/html5

An HTML5 parser and serializer.

1.8k242.8M226](/packages/masterminds-html5)[sabberworm/php-css-parser

Parser for CSS Files written in PHP

1.8k191.2M63](/packages/sabberworm-php-css-parser)[michelf/php-markdown

PHP Markdown

3.5k52.4M344](/packages/michelf-php-markdown)[jms/metadata

Class/method/property metadata management in PHP

1.8k152.8M88](/packages/jms-metadata)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
