3v4l.org

run code in 300+ PHP versions simultaneously
<?php //+ Jonas Raoni Soares Silva //@ http://jsfromhell.com function AbstractHTMLContents($html, $maxLength=100){ mb_internal_encoding("UTF-8"); $printedLength = 0; $position = 0; $tags = array(); $newContent = ''; $html = $content = preg_replace("/<img[^>]+\>/i", "", $html); while ($printedLength < $maxLength && preg_match('{</?([a-z]+)[^>]*>|&#?[a-zA-Z0-9]+;}', $html, $match, PREG_OFFSET_CAPTURE, $position)) { list($tag, $tagPosition) = $match[0]; // Print text leading up to the tag. $str = mb_strcut($html, $position, $tagPosition - $position); if ($printedLength + mb_strlen($str) > $maxLength){ $newstr = mb_strcut($str, 0, $maxLength - $printedLength); $newstr = preg_replace('~\s+\S+$~', '', $newstr); $newContent .= $newstr; $printedLength = $maxLength; break; } $newContent .= $str; $printedLength += mb_strlen($str); if ($tag[0] == '&') { // Handle the entity. $newContent .= $tag; $printedLength++; } else { // Handle the tag. $tagName = $match[1][0]; if ($tag[1] == '/') { // This is a closing tag. $openingTag = array_pop($tags); assert($openingTag == $tagName); // check that tags are properly nested. $newContent .= $tag; } else if ($tag[mb_strlen($tag) - 2] == '/'){ // Self-closing tag. $newContent .= $tag; } else { // Opening tag. $newContent .= $tag; $tags[] = $tagName; } } // Continue after the tag. $position = $tagPosition + mb_strlen($tag); } // Print any remaining text. if ($printedLength < $maxLength && $position < mb_strlen($html)) { $newstr = mb_strcut($html, $position, $maxLength - $printedLength); $newstr = preg_replace('~\s+\S+$~', '', $newstr); $newContent .= $newstr; } // Close any open tags. while (!empty($tags)) { $newContent .= sprintf('</%s>', array_pop($tags)); } return $newContent; } $sText = '<p>Ключевым элементом в области снижения влияния объектов производства на водные ресурсы является уменьшение забора воды и качество <i>очистительных</i> процедур.</p> <p>Для <strong>этих</strong> целей Группа «Газпром» проводит организационно-технические мероприятия, <img src="http://osb.loc/images/logo.jpg" alt="test" text> в частности по установке средств измерения расхода воды, а также установке и наладке запорно-затворной арматуры на своих предприятиях, что способствует существенной экономии водных ресурсов.</p> <p>Повышение эффективности действующих очистных сооружений и внедрение новых технологий очистки стоков позволяет обеспечить нормативное качество очистки сточных вод. Общая мощность очистных сооружений «Газпрома» в 2010 г. составила 153,263 млн куб. м. Половина нормативно очищенных стоков прошла очистку на сооружениях биологической очистки, 39% — механической очистки, 12% — физико-химической очистки сточных вод.</p>'; //echo String::truncate( $sText, 150, ' ...'); //jo<... //echo "\n\n\n"; echo AbstractHTMLContents( $sText, 100, ' ...', true); //jo<i><b>n</b></i>... //echo "\n\n\n"; //echo String::truncate( $sText, 150, ' ...', false); //jo<i><b>n...
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/VvTBE
function name:  (null)
number of ops:  9
compiled vars:  !0 = $sText
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   71     0  E >   ASSIGN                                                   !0, '%3Cp%3E%D0%9A%D0%BB%D1%8E%D1%87%D0%B5%D0%B2%D1%8B%D0%BC+%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%BC+%D0%B2+%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D0%B8+%D1%81%D0%BD%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F+%D0%B2%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D1%8F+%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2+%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%B0+%D0%BD%D0%B0+%D0%B2%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5+%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D1%8B+%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F+%D1%83%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B5%D0%BD%D0%B8%D0%B5+%D0%B7%D0%B0%D0%B1%D0%BE%D1%80%D0%B0+%D0%B2%D0%BE%D0%B4%D1%8B+%D0%B8+%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE+%3Ci%3E%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D1%85%3C%2Fi%3E+%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80.%3C%2Fp%3E%0A%3Cp%3E%D0%94%D0%BB%D1%8F+%3Cstrong%3E%D1%8D%D1%82%D0%B8%D1%85%3C%2Fstrong%3E+%D1%86%D0%B5%D0%BB%D0%B5%D0%B9+%D0%93%D1%80%D1%83%D0%BF%D0%BF%D0%B0+%C2%AB%D0%93%D0%B0%D0%B7%D0%BF%D1%80%D0%BE%D0%BC%C2%BB+%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%B8%D1%82+%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE-%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5+%D0%BC%D0%B5%D1%80%D0%BE%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D1%8F%2C+%3Cimg+src%3D%22http%3A%2F%2Fosb.loc%2Fimages%2Flogo.jpg%22+alt%3D%22test%22+text%3E+%D0%B2+%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8+%D0%BF%D0%BE+%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B5+%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2+%D0%B8%D0%B7%D0%BC%D0%B5%D1%80%D0%B5%D0%BD%D0%B8%D1%8F+%D1%80%D0%B0%D1%81%D1%85%D0%BE%D0%B4%D0%B0+%D0%B2%D0%BE%D0%B4%D1%8B%2C+%D0%B0+%D1%82%D0%B0%D0%BA%D0%B6%D0%B5+%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B5+%D0%B8+%D0%BD%D0%B0%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5+%D0%B7%D0%B0%D0%BF%D0%BE%D1%80%D0%BD%D0%BE-%D0%B7%D0%B0%D1%82%D0%B2%D0%BE%D1%80%D0%BD%D0%BE%D0%B9+%D0%B0%D1%80%D0%BC%D0%B0%D1%82%D1%83%D1%80%D1%8B+%D0%BD%D0%B0+%D1%81%D0%B2%D0%BE%D0%B8%D1%85+%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D1%8F%D1%85%2C+%D1%87%D1%82%D0%BE+%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D1%83%D0%B5%D1%82+%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9+%D1%8D%D0%BA%D0%BE%D0%BD%D0%BE%D0%BC%D0%B8%D0%B8+%D0%B2%D0%BE%D0%B4%D0%BD%D1%8B%D1%85+%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%BE%D0%B2.%3C%2Fp%3E%0A%3Cp%3E%D0%9F%D0%BE%D0%B2%D1%8B%D1%88%D0%B5%D0%BD%D0%B8%D0%B5+%D1%8D%D1%84%D1%84%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D0%B8+%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D1%83%D1%8E%D1%89%D0%B8%D1%85+%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BD%D1%8B%D1%85+%D1%81%D0%BE%D0%BE%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9+%D0%B8+%D0%B2%D0%BD%D0%B5%D0%B4%D1%80%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BD%D0%BE%D0%B2%D1%8B%D1%85+%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B9+%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B8+%D1%81%D1%82%D0%BE%D0%BA%D0%BE%D0%B2+%D0%BF%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D0%B5%D1%82+%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B8%D1%82%D1%8C+%D0%BD%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D0%B5+%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE+%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B8+%D1%81%D1%82%D0%BE%D1%87%D0%BD%D1%8B%D1%85+%D0%B2%D0%BE%D0%B4.+%D0%9E%D0%B1%D1%89%D0%B0%D1%8F+%D0%BC%D0%BE%D1%89%D0%BD%D0%BE%D1%81%D1%82%D1%8C+%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BD%D1%8B%D1%85+%D1%81%D0%BE%D0%BE%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9+%C2%AB%D0%93%D0%B0%D0%B7%D0%BF%D1%80%D0%BE%D0%BC%D0%B0%C2%BB+%D0%B2+2010+%D0%B3.+%D1%81%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0+153%2C263+%D0%BC%D0%BB%D0%BD+%D0%BA%D1%83%D0%B1.+%D0%BC.+%D0%9F%D0%BE%D0%BB%D0%BE%D0%B2%D0%B8%D0%BD%D0%B0+%D0%BD%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE+%D0%BE%D1%87%D0%B8%D1%89%D0%B5%D0%BD%D0%BD%D1%8B%D1%85+%D1%81%D1%82%D0%BE%D0%BA%D0%BE%D0%B2+%D0%BF%D1%80%D0%BE%D1%88%D0%BB%D0%B0+%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D1%83+%D0%BD%D0%B0+%D1%81%D0%BE%D0%BE%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%D1%85+%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9+%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B8%2C+39%25+%E2%80%94+%D0%BC%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9+%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B8%2C+12%25+%E2%80%94+%D1%84%D0%B8%D0%B7%D0%B8%D0%BA%D0%BE-%D1%85%D0%B8%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9+%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B8+%D1%81%D1%82%D0%BE%D1%87%D0%BD%D1%8B%D1%85+%D0%B2%D0%BE%D0%B4.%3C%2Fp%3E'
   77     1        INIT_FCALL                                               'abstracthtmlcontents'
          2        SEND_VAR                                                 !0
          3        SEND_VAL                                                 100
          4        SEND_VAL                                                 '+...'
          5        SEND_VAL                                                 <true>
          6        DO_FCALL                                      0  $2      
          7        ECHO                                                     $2
   79     8      > RETURN                                                   1

Function abstracthtmlcontents:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 98
Branch analysis from position: 98
2 jumps found. (Code = 46) Position 1 = 100, Position 2 = 108
Branch analysis from position: 100
2 jumps found. (Code = 44) Position 1 = 109, Position 2 = 17
Branch analysis from position: 109
2 jumps found. (Code = 46) Position 1 = 111, Position 2 = 116
Branch analysis from position: 111
2 jumps found. (Code = 43) Position 1 = 117, Position 2 = 131
Branch analysis from position: 117
1 jumps found. (Code = 42) Position 1 = 140
Branch analysis from position: 140
2 jumps found. (Code = 44) Position 1 = 143, Position 2 = 132
Branch analysis from position: 143
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 132
2 jumps found. (Code = 44) Position 1 = 143, Position 2 = 132
Branch analysis from position: 143
Branch analysis from position: 132
Branch analysis from position: 131
Branch analysis from position: 116
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 52
Branch analysis from position: 36
1 jumps found. (Code = 42) Position 1 = 109
Branch analysis from position: 109
Branch analysis from position: 52
2 jumps found. (Code = 43) Position 1 = 60, Position 2 = 63
Branch analysis from position: 60
1 jumps found. (Code = 42) Position 1 = 93
Branch analysis from position: 93
2 jumps found. (Code = 46) Position 1 = 100, Position 2 = 108
Branch analysis from position: 100
Branch analysis from position: 108
Branch analysis from position: 63
2 jumps found. (Code = 43) Position 1 = 69, Position 2 = 81
Branch analysis from position: 69
1 jumps found. (Code = 42) Position 1 = 93
Branch analysis from position: 93
Branch analysis from position: 81
2 jumps found. (Code = 43) Position 1 = 88, Position 2 = 90
Branch analysis from position: 88
1 jumps found. (Code = 42) Position 1 = 93
Branch analysis from position: 93
Branch analysis from position: 90
2 jumps found. (Code = 46) Position 1 = 100, Position 2 = 108
Branch analysis from position: 100
Branch analysis from position: 108
Branch analysis from position: 108
filename:       /in/VvTBE
function name:  AbstractHTMLContents
number of ops:  145
compiled vars:  !0 = $html, !1 = $maxLength, !2 = $printedLength, !3 = $position, !4 = $tags, !5 = $newContent, !6 = $content, !7 = $match, !8 = $tag, !9 = $tagPosition, !10 = $str, !11 = $newstr, !12 = $tagName, !13 = $openingTag
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      100
    6     2        INIT_FCALL                                               'mb_internal_encoding'
          3        SEND_VAL                                                 'UTF-8'
          4        DO_ICALL                                                 
    7     5        ASSIGN                                                   !2, 0
    8     6        ASSIGN                                                   !3, 0
    9     7        ASSIGN                                                   !4, <array>
   10     8        ASSIGN                                                   !5, ''
   12     9        INIT_FCALL                                               'preg_replace'
         10        SEND_VAL                                                 '%2F%3Cimg%5B%5E%3E%5D%2B%5C%3E%2Fi'
         11        SEND_VAL                                                 ''
         12        SEND_VAR                                                 !0
         13        DO_ICALL                                         $19     
         14        ASSIGN                                           ~20     !6, $19
         15        ASSIGN                                                   !0, ~20
   14    16      > JMP                                                      ->98
   16    17    >   FETCH_DIM_R                                      ~22     !7, 0
         18        FETCH_LIST_R                                     $23     ~22, 0
         19        ASSIGN                                                   !8, $23
         20        FETCH_LIST_R                                     $25     ~22, 1
         21        ASSIGN                                                   !9, $25
         22        FREE                                                     ~22
   18    23        INIT_FCALL                                               'mb_strcut'
         24        SEND_VAR                                                 !0
         25        SEND_VAR                                                 !3
         26        SUB                                              ~27     !9, !3
         27        SEND_VAL                                                 ~27
         28        DO_ICALL                                         $28     
         29        ASSIGN                                                   !10, $28
   19    30        INIT_FCALL                                               'mb_strlen'
         31        SEND_VAR                                                 !10
         32        DO_ICALL                                         $30     
         33        ADD                                              ~31     !2, $30
         34        IS_SMALLER                                               !1, ~31
         35      > JMPZ                                                     ~32, ->52
   20    36    >   INIT_FCALL                                               'mb_strcut'
         37        SEND_VAR                                                 !10
         38        SEND_VAL                                                 0
         39        SUB                                              ~33     !1, !2
         40        SEND_VAL                                                 ~33
         41        DO_ICALL                                         $34     
         42        ASSIGN                                                   !11, $34
   21    43        INIT_FCALL                                               'preg_replace'
         44        SEND_VAL                                                 '%7E%5Cs%2B%5CS%2B%24%7E'
         45        SEND_VAL                                                 ''
         46        SEND_VAR                                                 !11
         47        DO_ICALL                                         $36     
         48        ASSIGN                                                   !11, $36
   22    49        ASSIGN_OP                                     8          !5, !11
   23    50        ASSIGN                                                   !2, !1
   24    51      > JMP                                                      ->109
   26    52    >   ASSIGN_OP                                     8          !5, !10
   27    53        INIT_FCALL                                               'mb_strlen'
         54        SEND_VAR                                                 !10
         55        DO_ICALL                                         $41     
         56        ASSIGN_OP                                     1          !2, $41
   28    57        FETCH_DIM_R                                      ~43     !8, 0
         58        IS_EQUAL                                                 ~43, '%26'
         59      > JMPZ                                                     ~44, ->63
   30    60    >   ASSIGN_OP                                     8          !5, !8
   31    61        PRE_INC                                                  !2
         62      > JMP                                                      ->93
   34    63    >   FETCH_DIM_R                                      ~47     !7, 1
         64        FETCH_DIM_R                                      ~48     ~47, 0
         65        ASSIGN                                                   !12, ~48
   35    66        FETCH_DIM_R                                      ~50     !8, 1
         67        IS_EQUAL                                                 ~50, '%2F'
         68      > JMPZ                                                     ~51, ->81
   37    69    >   INIT_FCALL                                               'array_pop'
         70        SEND_REF                                                 !4
         71        DO_ICALL                                         $52     
         72        ASSIGN                                                   !13, $52
   38    73        ASSERT_CHECK                                             
         74        INIT_FCALL                                               'assert'
         75        IS_EQUAL                                         ~54     !13, !12
         76        SEND_VAL                                                 ~54
         77        SEND_VAL                                                 'assert%28%24openingTag+%3D%3D+%24tagName%29'
         78        DO_ICALL                                                 
   39    79        ASSIGN_OP                                     8          !5, !8
         80      > JMP                                                      ->93
   40    81    >   INIT_FCALL                                               'mb_strlen'
         82        SEND_VAR                                                 !8
         83        DO_ICALL                                         $57     
         84        SUB                                              ~58     $57, 2
         85        FETCH_DIM_R                                      ~59     !8, ~58
         86        IS_EQUAL                                                 ~59, '%2F'
         87      > JMPZ                                                     ~60, ->90
   42    88    >   ASSIGN_OP                                     8          !5, !8
         89      > JMP                                                      ->93
   45    90    >   ASSIGN_OP                                     8          !5, !8
   46    91        ASSIGN_DIM                                               !4
         92        OP_DATA                                                  !12
   51    93    >   INIT_FCALL                                               'mb_strlen'
         94        SEND_VAR                                                 !8
         95        DO_ICALL                                         $64     
         96        ADD                                              ~65     !9, $64
         97        ASSIGN                                                   !3, ~65
   14    98    >   IS_SMALLER                                       ~67     !2, !1
         99      > JMPZ_EX                                          ~67     ~67, ->108
        100    >   INIT_FCALL                                               'preg_match'
        101        SEND_VAL                                                 '%7B%3C%2F%3F%28%5Ba-z%5D%2B%29%5B%5E%3E%5D%2A%3E%7C%26%23%3F%5Ba-zA-Z0-9%5D%2B%3B%7D'
        102        SEND_VAR                                                 !0
        103        SEND_REF                                                 !7
        104        SEND_VAL                                                 256
        105        SEND_VAR                                                 !3
        106        DO_ICALL                                         $68     
        107        BOOL                                             ~67     $68
        108    > > JMPNZ                                                    ~67, ->17
   55   109    >   IS_SMALLER                                       ~69     !2, !1
        110      > JMPZ_EX                                          ~69     ~69, ->116
        111    >   INIT_FCALL                                               'mb_strlen'
        112        SEND_VAR                                                 !0
        113        DO_ICALL                                         $70     
        114        IS_SMALLER                                       ~71     !3, $70
        115        BOOL                                             ~69     ~71
        116    > > JMPZ                                                     ~69, ->131
   57   117    >   INIT_FCALL                                               'mb_strcut'
        118        SEND_VAR                                                 !0
        119        SEND_VAR                                                 !3
        120        SUB                                              ~72     !1, !2
        121        SEND_VAL                                                 ~72
        122        DO_ICALL                                         $73     
        123        ASSIGN                                                   !11, $73
   58   124        INIT_FCALL                                               'preg_replace'
        125        SEND_VAL                                                 '%7E%5Cs%2B%5CS%2B%24%7E'
        126        SEND_VAL                                                 ''
        127        SEND_VAR                                                 !11
        128        DO_ICALL                                         $75     
        129        ASSIGN                                                   !11, $75
   59   130        ASSIGN_OP                                     8          !5, !11
   63   131    > > JMP                                                      ->140
   65   132    >   INIT_FCALL                                               'sprintf'
        133        SEND_VAL                                                 '%3C%2F%25s%3E'
        134        INIT_FCALL                                               'array_pop'
        135        SEND_REF                                                 !4
        136        DO_ICALL                                         $78     
        137        SEND_VAR                                                 $78
        138        DO_ICALL                                         $79     
        139        ASSIGN_OP                                     8          !5, $79
   63   140    >   ISSET_ISEMPTY_CV                                 ~81     !4
        141        BOOL_NOT                                         ~82     ~81
        142      > JMPNZ                                                    ~82, ->132
   68   143    > > RETURN                                                   !5
   69   144*     > RETURN                                                   null

End of function abstracthtmlcontents

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
172.4 ms | 1419 KiB | 30 Q