summaryrefslogtreecommitdiff
path: root/inc/display.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/display.php')
-rw-r--r--inc/display.php18
1 files changed, 18 insertions, 0 deletions
diff --git a/inc/display.php b/inc/display.php
index 0678cef7..8423da0f 100644
--- a/inc/display.php
+++ b/inc/display.php
@@ -72,6 +72,15 @@
$this->ip = $ip;
$this->root = $root;
$this->mod = $mod;
+
+ if($this->mod)
+ // Fix internal links
+ // Very complicated regex
+ $this->body = preg_replace(
+ '/<a(([a-zA-Z]+="[^"]+")|[a-zA-Z]+=[a-zA-Z]+|\s)*href="' . preg_quote(ROOT, '/') . '(' . sprintf(preg_quote(BOARD_PATH, '/'), '\w+') . ')/',
+ '<a href="?/$3',
+ $this->body
+ );
}
public function postControls() {
global $board;
@@ -203,6 +212,15 @@
$this->locked = $locked;
$this->root = $root;
$this->mod = $mod;
+
+ if($this->mod)
+ // Fix internal links
+ // Very complicated regex
+ $this->body = preg_replace(
+ '/<a(([a-zA-Z]+="[^"]+")|[a-zA-Z]+=[a-zA-Z]+|\s)*href="' . preg_quote(ROOT, '/') . '(' . sprintf(preg_quote(BOARD_PATH, '/'), '\w+') . ')/',
+ '<a href="?/$3',
+ $this->body
+ );
}
public function add(Post $post) {
$this->posts[] = $post;