Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/vendor/cebe/markdown/block/ |
Upload File : |
<?php /** * @copyright Copyright (c) 2014 Carsten Brandt * @license https://github.com/cebe/markdown/blob/master/LICENSE * @link https://github.com/cebe/markdown#readme */ namespace cebe\markdown\block; /** * Adds the 4 space indented code blocks */ trait CodeTrait { /** * identify a line as the beginning of a code block. */ protected function identifyCode($line) { // indentation >= 4 or one tab is code return ($l = $line[0]) === ' ' && $line[1] === ' ' && $line[2] === ' ' && $line[3] === ' ' || $l === "\t"; } /** * Consume lines for a code block element */ protected function consumeCode($lines, $current) { // consume until newline $content = []; for ($i = $current, $count = count($lines); $i < $count; $i++) { $line = $lines[$i]; // a line is considered to belong to this code block as long as it is intended by 4 spaces or a tab if (isset($line[0]) && ($line[0] === "\t" || strncmp($line, ' ', 4) === 0)) { $line = $line[0] === "\t" ? substr($line, 1) : substr($line, 4); $content[] = $line; // but also if it is empty and the next line is intended by 4 spaces or a tab } elseif (($line === '' || rtrim($line) === '') && isset($lines[$i + 1][0]) && ($lines[$i + 1][0] === "\t" || strncmp($lines[$i + 1], ' ', 4) === 0)) { if ($line !== '') { $line = $line[0] === "\t" ? substr($line, 1) : substr($line, 4); } $content[] = $line; } else { break; } } $block = [ 'code', 'content' => implode("\n", $content), ]; return [$block, --$i]; } /** * Renders a code block */ protected function renderCode($block) { $class = isset($block['language']) ? ' class="language-' . $block['language'] . '"' : ''; return "<pre><code$class>" . htmlspecialchars($block['content'] . "\n", ENT_NOQUOTES | ENT_SUBSTITUTE, 'UTF-8') . "</code></pre>\n"; } }