Skip to content

Commit d7b10da

Browse files
committed
[ErrorHandler] Fix rendered exception code highlighting on PHP 8.3
1 parent b982cfa commit d7b10da

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

Extension/CodeExtension.php

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,12 +129,10 @@ public function fileExcerpt(string $file, int $line, int $srcContext = 3): ?stri
129129
if (\PHP_VERSION_ID >= 80300) {
130130
// remove main pre/code tags
131131
$code = preg_replace('#^<pre.*?>\s*<code.*?>(.*)</code>\s*</pre>#s', '\\1', $code);
132-
// split multiline code tags
133-
$code = preg_replace_callback('#<code ([^>]++)>((?:[^<]*+\\n)++[^<]*+)</code>#', function ($m) {
134-
return "<code $m[1]>".str_replace("\n", "</code>\n<code $m[1]>", $m[2]).'</code>';
132+
// split multiline span tags
133+
$code = preg_replace_callback('#<span ([^>]++)>((?:[^<\\n]*+\\n)++[^<]*+)</span>#', function ($m) {
134+
return "<span $m[1]>".str_replace("\n", "</span>\n<span $m[1]>", $m[2]).'</span>';
135135
}, $code);
136-
// Convert spaces to html entities to preserve indentation when rendered
137-
$code = str_replace(' ', '&nbsp;', $code);
138136
$content = explode("\n", $code);
139137
} else {
140138
// remove main code/span tags

0 commit comments

Comments
 (0)