aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/message_parser.php
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2015-05-18 19:02:49 +0200
committerMarc Alexander <admin@m-a-styles.de>2015-05-18 19:02:49 +0200
commit8a5c0965d34cfd7027983dd74c33f45d737012d3 (patch)
treeafe35bc1c26adf4888fe3e95b21e57d5f226d3e0 /phpBB/includes/message_parser.php
parent1076b562dde3cd05351baec0cc01e1ff35c7317a (diff)
downloadforums-8a5c0965d34cfd7027983dd74c33f45d737012d3.tar
forums-8a5c0965d34cfd7027983dd74c33f45d737012d3.tar.gz
forums-8a5c0965d34cfd7027983dd74c33f45d737012d3.tar.bz2
forums-8a5c0965d34cfd7027983dd74c33f45d737012d3.tar.xz
forums-8a5c0965d34cfd7027983dd74c33f45d737012d3.zip
[ticket/13832] Allow callables for matching bbcodes
PHPBB3-13832
Diffstat (limited to 'phpBB/includes/message_parser.php')
-rw-r--r--phpBB/includes/message_parser.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php
index 0d6960a197..0528d0b413 100644
--- a/phpBB/includes/message_parser.php
+++ b/phpBB/includes/message_parser.php
@@ -83,7 +83,14 @@ class bbcode_firstpass extends bbcode
// it should not demand recompilation
if (preg_match($regexp, $this->message))
{
- $this->message = preg_replace($regexp, $replacement, $this->message);
+ if (is_callable($replacement))
+ {
+ $this->message = preg_replace_callback($regexp, $replacement, $this->message);
+ }
+ else
+ {
+ $this->message = preg_replace($regexp, $replacement, $this->message);
+ }
$bitfield->set($bbcode_data['bbcode_id']);
}
}