说明: 在moodle中,我们需要创建一个问题(假设有4个选项的多项选择题),其中包含图像(问题文本或答案文本)。我们能够将图像放在问题文本中以及回答文本,并且moodle使用其文件API完美地显示这些图像。
问题: 我的问题是,我正在开发一个用于打印测验的自定义模块,在那里我无法显示这些图像。
详细信息: 当moodle在数据库中保存这些问题和答案时,它会以下列格式保存图像URL(参见img的src属性):
<p><img src="@@PLUGINFILE@@/22-2-16.png" alt="" width="1366" height="768" role="presentation" style="vertical-align:text-bottom; margin: 0 .5em;" class="img-responsive"><br></p>
由于moodle这种格式,我的图像没有被提取。我需要以某种方式解码此src属性以获取保存在数据库中的图像的实际URL。
任何帮助都将深表感谢。
答案 0 :(得分:0)
如果你追查原始的问题代码,从问题/ questionbase.php开始,你应该找到一个函数question_definition :: format_text()。此功能涵盖了您需要对问题文本进行的所有操作以准备显示。
在内部,它调用question_attempt :: rewrite_pluginfile_urls(),然后调用函数question_rewrite_question_urls()(在lib / questionlib.php中)。最后,这将进入标准的file_rewrite_pluginfile_urls(),以替换文本中的“@@ PLUGINFILE @@”链接。
希望这足以让你开始。