diff options
author | mrjive <mrjive@mrjive.it> | 2018-03-13 10:59:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-13 10:59:21 +0100 |
commit | 790660e61264ed884a8c600f407cf75893ffe977 (patch) | |
tree | 8fb3e4263cd7cdf4b34e0d7bb859c2f290c8ab39 /include/bbcode.php | |
parent | 2bcfa0c12687d47c11e8c445a5a38ffe96d5c135 (diff) | |
parent | 53c1d3775cc140ecda50d837752adac851d9e0b2 (diff) | |
download | volse-hubzilla-790660e61264ed884a8c600f407cf75893ffe977.tar.gz volse-hubzilla-790660e61264ed884a8c600f407cf75893ffe977.tar.bz2 volse-hubzilla-790660e61264ed884a8c600f407cf75893ffe977.zip |
Merge pull request #18 from redmatrix/dev
Dev
Diffstat (limited to 'include/bbcode.php')
-rw-r--r-- | include/bbcode.php | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/bbcode.php b/include/bbcode.php index 03a46444b..b33766757 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -668,6 +668,31 @@ function bb_fixtable_lf($match) { } +function bbtopoll($s) { + + $pl = []; + + $match = ''; + if(! preg_match("/\[poll=(.*?)\](.*?)\[\/poll\]/ism",$s,$match)) { + return null; + } + $pl['poll_id'] = $match[1]; + $pl['poll_question'] = $match[2]; + + $match = ''; + if(preg_match_all("/\[poll\-answer=(.*?)\](.*?)\[\/poll\-answer\]/is",$s,$match,PREG_SET_ORDER)) { + $pl['answer'] = []; + foreach($match as $m) { + $ans = [ 'answer_id' => $m[1], 'answer_text' => $m[2] ]; + $pl['answer'][] = $ans; + } + } + + return $pl; + +} + + function parseIdentityAwareHTML($Text) { // Hide all [noparse] contained bbtags by spacefying them @@ -766,6 +791,11 @@ function bbcode($Text, $options = []) { $ev = bbtoevent($Text); + // and the same with polls + + $pl = bbtopoll($Text); + + // process [observer] tags before we do anything else because we might // be stripping away stuff that then doesn't need to be worked on anymore |