From 8a5c0965d34cfd7027983dd74c33f45d737012d3 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Mon, 18 May 2015 19:02:49 +0200 Subject: [PATCH] [ticket/13832] Allow callables for matching bbcodes PHPBB3-13832 --- phpBB/includes/message_parser.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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']); } }