diff options
author | friendica <info@friendica.com> | 2011-11-27 14:03:49 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2011-11-27 14:03:49 -0800 |
commit | d9e1ebfc48a2dee1c5c7be525dbdd3053ade334a (patch) | |
tree | 5d857efae6ed780e51abd971da8806d57f621465 /include | |
parent | 1055ef3eead49d5822b9f373fc7e39bb5016d4ba (diff) | |
download | volse-hubzilla-d9e1ebfc48a2dee1c5c7be525dbdd3053ade334a.tar.gz volse-hubzilla-d9e1ebfc48a2dee1c5c7be525dbdd3053ade334a.tar.bz2 volse-hubzilla-d9e1ebfc48a2dee1c5c7be525dbdd3053ade334a.zip |
wrong length in image extractor
Diffstat (limited to 'include')
-rw-r--r-- | include/bbcode.php | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/include/bbcode.php b/include/bbcode.php index 1ad81d26f..15b2ebb0a 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -31,9 +31,10 @@ function tryoembed($match){ function bbcode($Text,$preserve_nl = false) { - // extract a single private image which uses data url's since preg has issues with - // large data sizes. Put it back in after we've done all the regex matching. - + // Extract a single private image which uses data url's since preg has issues with + // large data sizes. Stash it away while we do bbcode conversion, and then put it back + // in after we've done all the regex matching. We cannot use any preg functions to do this. + $saved_image = ''; $img_start = strpos($Text,'[img]data:'); $img_end = strpos($Text,'[/img]'); @@ -41,7 +42,7 @@ function bbcode($Text,$preserve_nl = false) { if($img_start !== false && $img_end !== false && $img_end > $img_start) { $start_fragment = substr($Text,0,$img_start); $img_start += strlen('[img]'); - $saved_image = substr($Text,$img_start,strpos($Text,'[/img]')); + $saved_image = substr($Text,$img_start,$img_end - $img_start); $end_fragment = substr($Text,$img_end + strlen('[/img]')); // logger('saved_image: ' . $saved_image,LOGGER_DEBUG); $Text = $start_fragment . '[$#saved_image#$]' . $end_fragment; |