Author: Theodore Brown (theodorejb) Committer: GitHub (web-flow) Pusher: saundefined Date: 2025-11-19T21:02:05+03:00
Commit: https://github.com/php/web-php/commit/84ce0c6804b0e1ade040fe96df9b6e308ed7bb9c Raw diff: https://github.com/php/web-php/commit/84ce0c6804b0e1ade040fe96df9b6e308ed7bb9c.diff Add syntax highlighting for variables on PHP 8.5 release page (#1626) Changed paths: M include/layout.inc M releases/8.5/release.inc M styles/php85.css M styles/theme-medium.css Diff: diff --git a/include/layout.inc b/include/layout.inc index 17f76b8fd4..2f3f8207a6 100644 --- a/include/layout.inc +++ b/include/layout.inc @@ -47,6 +47,19 @@ function highlight_php_trimmed($code, $return = false) $highlighted_code = highlight_php($code, true); $highlighted_code = preg_replace("!<\?php(<br />)+!", '', $highlighted_code, 1); + // add syntax highlighting for variables + $variableReplacer = function (array $matches) { + if ($matches[1] !== '') { + $replacement = '<span class="default">' . $matches[1] . '</span>'; + } else { + $replacement = ''; + } + return $replacement . '<span class="variable">' . $matches[2] . '</span>'; + }; + + $pattern = '!<span class="default">([\w\s]*)(\$[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*\s*)</span>!'; + $highlighted_code = preg_replace_callback($pattern, $variableReplacer, $highlighted_code); + if ($return) { return $highlighted_code; } echo $highlighted_code; return null; diff --git a/releases/8.5/release.inc b/releases/8.5/release.inc index ee33e7769c..79578488da 100644 --- a/releases/8.5/release.inc +++ b/releases/8.5/release.inc @@ -509,7 +509,7 @@ final class PostsController )] public function update( Request $request, - Post $post + Post $post, ): Response { // ... } @@ -545,7 +545,7 @@ final class PostsController })] public function update( Request $request, - Post $post + Post $post, ): Response { // ... } diff --git a/styles/php85.css b/styles/php85.css index d8523e91aa..4ac3708350 100644 --- a/styles/php85.css +++ b/styles/php85.css @@ -3564,6 +3564,11 @@ footer p:where(.dark,.dark *) { background-color: transparent; } +.php85 .phpcode span.variable { + color: #7d55ba; + background-color: transparent; +} + .php85 .phpcode span.keyword { color: #07a; background-color: transparent; @@ -3585,13 +3590,18 @@ footer p:where(.dark,.dark *) { background-color: transparent; } +.dark .php85 .phpcode span.variable { + color: #a5d6ff; + background-color: transparent; +} + .dark .php85 .phpcode span.keyword { color: #ff7b72; background-color: transparent; } .dark .php85 .phpcode span.string { - color: #a5d6ff; + color: #80b83c; background-color: transparent; } diff --git a/styles/theme-medium.css b/styles/theme-medium.css index d171ea4c45..1f1b9d142f 100644 --- a/styles/theme-medium.css +++ b/styles/theme-medium.css @@ -832,7 +832,7 @@ div.warning a:focus { color: var(--dark-blue-color); background-color: transparent; } -div.phpcode span.default { +div.phpcode span.default, div.phpcode span.variable { color: #369; background-color: transparent; }
