题库格式哀求

考试题库题目格式哀求如上图所示,包含了题目类型、难度系数、分数、选项及参考答案。
而手里的练习题目格式如下:

已有练习题格式

php试题库若何应用PHP创立尺度化的试题库 NoSQL

已有练习题格式如上图所示,如果直接在word中调度,由于题目数量较多,操作较为繁琐,效率低下,因此考虑编写程序实现对文档进行标准格式化处理。

基本思路

本学期恰好给学生讲授PHP课程,因此考虑利用PHP所供应的文件读写方法,及字符串处理干系函数对字符串进行处理。
将每一道题目读取并按照题干、选项、答案三部分进行识别。
终极按照所需提交的考试题库进行输出文档的编辑。
实现基本思路过程描述如下:

将已有练习题从word转化为txt文本,去掉所包含的各种样式;利用php所供应的fopen方法及fread方法等将txt内容读取到内存并用变量表示;将字符串进行预处理,紧张去掉回车换行,将全角输入的内容转化为半角输入内容,将部分符号更换为分外符号(用于实现字符查找,如将题号后的、转为#,1#表示题号1;A、可表示为A#);利用模式匹配找到所有题号对应的位置,两个位置之间部分即为一道题目;对获取的每道题目进行内容识别,找到个中的题干、选项与答案,由于是选择题只须要找到A#位置即可截取到之前的题干部分及参考答案,用A#、B#、C#、D#的位置数据可分别截取题目选项;按照考试题库哀求添加前缀等信息,使其标准化。
编程实现

在明确基本实现思路之后即可通过编写程序实现对非标准化题目进行标准化处理。
个中读取txt数据到变量中实当代码如下:

读取文档

文档读取完成之后即可对其进行格式化预处理,将文档中的全角字符转为半角字符,将空格回车及换行等进行删除。
实当代码如下:

格式化预处理

格式化预处理完成之后即可利用模式匹配从字符串找到每一个标题部分的位置,并通过相邻两个找到每一条试题,实当代码如下:

读取完全题目

读取到完全题目之后就可以利用字符串函数从个中找到题干、选项、答案,实当代码如下:

获取题干与参考答案

识别读取选项

在识别读取选项过程中创造已有题目部分只有三个选项,因此针对这种情形,人为添加第四个选项为以上答案都不对,不影响题目作答。
末了利用输出语句按照考试题库哀求进行题目的输出,根据读取的txt不同设置难度值。
输出语句如下图所示:

输出标准考试题库

实现效果

通过利用php编程终极实现将不符合哀求的试题自动转换为符合哀求题库,避免了word操作的繁琐,提高了题库创建的效率。
页面运行效果如下:

转换结果

转换完成之后可直接将其复制到word文档,也可以直接写入word文档。
由于韶光限定,没有考虑直接写入word文档。
有兴趣读者可自己编码实现。
本案例供应完全代码,如须要请关注并私信。

本头条号长期关注编程资讯分享;编程课程、素材、代码分享及编程培训。
如果您对以上方面有兴趣或代码缺点、建议与见地,可在评论区回答。
更多程序设计干系教程及实例分享,期待大家关注与阅读!