|
@@ -235,6 +235,13 @@
|
|
|
$encodedOpt = htmlspecialchars($normalizedOpt, ENT_QUOTES | ENT_HTML5, 'UTF-8');
|
|
$encodedOpt = htmlspecialchars($normalizedOpt, ENT_QUOTES | ENT_HTML5, 'UTF-8');
|
|
|
$renderedOpt = \App\Services\MathFormulaProcessor::processFormulas($encodedOpt);
|
|
$renderedOpt = \App\Services\MathFormulaProcessor::processFormulas($encodedOpt);
|
|
|
}
|
|
}
|
|
|
|
|
+ // 仅针对“选项图片”覆盖公式处理器默认的题干尺寸,避免四列布局被 220px 宽图撑出边界
|
|
|
|
|
+ $renderedOpt = preg_replace('/max-width\s*:\s*220px\s*;?/iu', 'max-width:100%;', (string) $renderedOpt);
|
|
|
|
|
+ $renderedOpt = preg_replace('/max-height\s*:\s*60mm\s*;?/iu', 'max-height:28mm;', (string) $renderedOpt);
|
|
|
|
|
+ // 标记选项内图片,供 PDF 全局宽图放大逻辑识别并跳过
|
|
|
|
|
+ $renderedOpt = preg_replace('/<img\b(?![^>]*\bdata-option-image=)/iu', '<img data-option-image="1"', (string) $renderedOpt);
|
|
|
|
|
+ // 兼容未来选项直接使用 <svg> 的场景,同样打标走选项专用规则
|
|
|
|
|
+ $renderedOpt = preg_replace('/<svg\b(?![^>]*\bdata-option-image=)/iu', '<svg data-option-image="1"', (string) $renderedOpt);
|
|
|
|
|
|
|
|
// 细粒度控制:短选项(如 1/2、-1/3、x、-x)尽量单行展示,长选项允许换行
|
|
// 细粒度控制:短选项(如 1/2、-1/3、x、-x)尽量单行展示,长选项允许换行
|
|
|
$rawOptText = html_entity_decode(strip_tags((string) $opt), ENT_QUOTES | ENT_HTML5, 'UTF-8');
|
|
$rawOptText = html_entity_decode(strip_tags((string) $opt), ENT_QUOTES | ENT_HTML5, 'UTF-8');
|