| | |
| | | |
| | | if (preg_match_all('/\.\.\//', $path, $matches, PREG_SET_ORDER)) { |
| | | foreach ($matches as $a_match) { |
| | | if (strrpos($base_url, '/')) { |
| | | $base_url = substr($base_url, 0, strrpos($base_url, '/')); |
| | | if ($pos = strrpos($base_url, '/')) { |
| | | $base_url = substr($base_url, 0, $pos); |
| | | } |
| | | $path = substr($path, 3); |
| | | } |
| | |
| | | $body = preg_replace_callback('/((?:^|\n)>*)([^\n]*)/', array($this, 'blockquote_citation_ballback'), trim($body)); |
| | | $body = '<pre>' . htmlspecialchars($body) . '</pre>'; |
| | | |
| | | $text = substr($text, 0, $start) . $body . "\n" . substr($text, $end + 13); |
| | | $text = substr_replace($text, $body . "\n", $start, $end + 13 - $start); |
| | | $offset = 0; |
| | | |
| | | break; |
| | | } |
| | | } while ($end || $next); |
| | | } |
| | | while ($end || $next); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | public function blockquote_citation_ballback($m) |
| | | { |
| | | $line = ltrim($m[2]); |
| | | $line = ltrim($m[2]); |
| | | $space = $line[0] == '>' ? '' : ' '; |
| | | |
| | | return $m[1] . '>' . $space . $line; |
| | | } |
| | | |
| | |
| | | |
| | | // cut out all contents between { and } |
| | | while (($pos = strpos($source, '{', $last_pos)) && ($pos2 = strpos($source, '}', $pos))) { |
| | | $styles = substr($source, $pos+1, $pos2-($pos+1)); |
| | | $length = strlen($styles); |
| | | $length = $pos2 - $pos - 1; |
| | | $styles = substr($source, $pos+1, $length); |
| | | |
| | | // check every line of a style block... |
| | | if ($allow_remote) { |