diff options
author | Meik Sievertsen <acydburn@phpbb.com> | 2007-06-28 14:55:48 +0000 |
---|---|---|
committer | Meik Sievertsen <acydburn@phpbb.com> | 2007-06-28 14:55:48 +0000 |
commit | f9ea21a0836301bc21b8f1288695767cd15543ab (patch) | |
tree | 2f1c05ec6ab9300be2904e76479d0858ea8f48b8 /phpBB/includes/message_parser.php | |
parent | d57a16ad6964cc76843b7571f29c999ab6d8577a (diff) | |
download | forums-f9ea21a0836301bc21b8f1288695767cd15543ab.tar forums-f9ea21a0836301bc21b8f1288695767cd15543ab.tar.gz forums-f9ea21a0836301bc21b8f1288695767cd15543ab.tar.bz2 forums-f9ea21a0836301bc21b8f1288695767cd15543ab.tar.xz forums-f9ea21a0836301bc21b8f1288695767cd15543ab.zip |
fixing some bugs
git-svn-id: file:///svn/phpbb/trunk@7805 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/message_parser.php')
-rw-r--r-- | phpBB/includes/message_parser.php | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php index 1a70a7fd80..649708aff3 100644 --- a/phpBB/includes/message_parser.php +++ b/phpBB/includes/message_parser.php @@ -1229,7 +1229,7 @@ class parse_message extends bbcode_firstpass while ($row = $db->sql_fetchrow($result)) { // (assertion) - $match[] = '#(?<=^|[\n .])' . preg_quote($row['code'], '#') . '(?![^<>]*>)#'; + $match[] = '(?<=^|[\n .])' . preg_quote($row['code'], '#') . '(?![^<>]*>)'; $replace[] = '<!-- s' . $row['code'] . ' --><img src="{SMILIES_PATH}/' . $row['smiley_url'] . '" alt="' . $row['code'] . '" title="' . $row['emotion'] . '" /><!-- s' . $row['code'] . ' -->'; } $db->sql_freeresult($result); @@ -1239,7 +1239,7 @@ class parse_message extends bbcode_firstpass { if ($max_smilies) { - $num_matches = preg_match_all('#' . str_replace('#', '', implode('|', $match)) . '#', $this->message, $matches); + $num_matches = preg_match_all('#' . implode('|', $match) . '#', $this->message, $matches); unset($matches); if ($num_matches !== false && $num_matches > $max_smilies) @@ -1249,6 +1249,9 @@ class parse_message extends bbcode_firstpass } } + // Make sure the delimiter # is added in front and at the end of every element within $match + $match = explode(chr(0), '#' . implode('#' . chr(0) . '#', $match) . '#'); + $this->message = trim(preg_replace($match, $replace, $this->message)); } } |