3v4l.org

run code in 500+ PHP versions simultaneously
<?php $html = '<p><span style="color:#2c2c2c;font-weight:700;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:&quot;Arial&quot;;font-style:normal">Strong content</span></p><ul><li><span style="color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:&quot;Arial&quot;;font-style:normal">list item</span></li><li><span style="color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:&quot;Arial&quot;;font-style:normal">list item</span></li><li><span style="color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:&quot;Arial&quot;;font-style:normal">list item</span></li><li><span style="color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:&quot;Arial&quot;;font-style:normal">list item</span></li><li><span style="color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:&quot;Arial&quot;;font-style:normal">list item</span></li><li><span style="color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:&quot;Arial&quot;;font-style:normal">list item</span></li></ul><p><span style="color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:&quot;Arial&quot;;font-style:normal">Content text</span></p><p><span style="color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:&quot;Arial&quot;;font-style:normal">Content text</span></p><p><span style="color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:&quot;Arial&quot;;font-style:normal">Content text</span></p><p><span style="font-size:10.5pt;color:#2c2c2c;font-weight:700">Should be bold</span><span style="color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:&quot;Arial&quot;;font-style:normal">: regular text</span></p><p><span style="font-size:10.5pt;color:#2c2c2c;font-weight:700">Should be bold</span><span style="color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:&quot;Arial&quot;;font-style:normal">: regular text </span></p><p><span style="font-size:10.5pt;color:#2c2c2c;font-weight:700">Should be bold</span><span style="color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:&quot;Arial&quot;;font-style:normal">: regular text</span></p>'; $dom = new domdocument(); $dom->loadhtml($html); $elements = $dom->getElementsByTagName("span"); for ($i = $elements->length - 1; $i >= 0; $i --) { if(strpos($elements[$i]->getattribute('style'), 'font-weight:700') !== FALSE) { $nodePre = $elements->item($i); $nodeDiv = $dom->createElement("strong", $nodePre->nodeValue); $nodePre->parentNode->replaceChild($nodeDiv, $nodePre); } } echo $dom->savehtml();
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 39
Branch analysis from position: 39
2 jumps found. (Code = 44) Position 1 = 41, Position 2 = 15
Branch analysis from position: 41
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 38
Branch analysis from position: 22
2 jumps found. (Code = 44) Position 1 = 41, Position 2 = 15
Branch analysis from position: 41
Branch analysis from position: 15
Branch analysis from position: 38
filename:       /in/uqWpj
function name:  (null)
number of ops:  45
compiled vars:  !0 = $html, !1 = $dom, !2 = $elements, !3 = $i, !4 = $nodePre, !5 = $nodeDiv
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                       !0, '%3Cp%3E%3Cspan+style%3D%22color%3A%232c2c2c%3Bfont-weight%3A700%3Btext-decoration%3Anone%3Bvertical-align%3Abaseline%3Bfont-size%3A10.5pt%3Bfont-family%3A%26quot%3BArial%26quot%3B%3Bfont-style%3Anormal%22%3EStrong+content%3C%2Fspan%3E%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cspan+style%3D%22color%3A%232c2c2c%3Bfont-weight%3A400%3Btext-decoration%3Anone%3Bvertical-align%3Abaseline%3Bfont-size%3A10.5pt%3Bfont-family%3A%26quot%3BArial%26quot%3B%3Bfont-style%3Anormal%22%3Elist+item%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan+style%3D%22color%3A%232c2c2c%3Bfont-weight%3A400%3Btext-decoration%3Anone%3Bvertical-align%3Abaseline%3Bfont-size%3A10.5pt%3Bfont-family%3A%26quot%3BArial%26quot%3B%3Bfont-style%3Anormal%22%3Elist+item%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan+style%3D%22color%3A%232c2c2c%3Bfont-weight%3A400%3Btext-decoration%3Anone%3Bvertical-align%3Abaseline%3Bfont-size%3A10.5pt%3Bfont-family%3A%26quot%3BArial%26quot%3B%3Bfont-style%3Anormal%22%3Elist+item%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan+style%3D%22color%3A%232c2c2c%3Bfont-weight%3A400%3Btext-decoration%3Anone%3Bvertical-align%3Abaseline%3Bfont-size%3A10.5pt%3Bfont-family%3A%26quot%3BArial%26quot%3B%3Bfont-style%3Anormal%22%3Elist+item%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan+style%3D%22color%3A%232c2c2c%3Bfont-weight%3A400%3Btext-decoration%3Anone%3Bvertical-align%3Abaseline%3Bfont-size%3A10.5pt%3Bfont-family%3A%26quot%3BArial%26quot%3B%3Bfont-style%3Anormal%22%3Elist+item%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan+style%3D%22color%3A%232c2c2c%3Bfont-weight%3A400%3Btext-decoration%3Anone%3Bvertical-align%3Abaseline%3Bfont-size%3A10.5pt%3Bfont-family%3A%26quot%3BArial%26quot%3B%3Bfont-style%3Anormal%22%3Elist+item%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%3E%3Cspan+style%3D%22color%3A%232c2c2c%3Bfont-weight%3A400%3Btext-decoration%3Anone%3Bvertical-align%3Abaseline%3Bfont-size%3A10.5pt%3Bfont-family%3A%26quot%3BArial%26quot%3B%3Bfont-style%3Anormal%22%3EContent+text%3C%2Fspan%3E%3C%2Fp%3E%3Cp%3E%3Cspan+style%3D%22color%3A%232c2c2c%3Bfont-weight%3A400%3Btext-decoration%3Anone%3Bvertical-align%3Abaseline%3Bfont-size%3A10.5pt%3Bfont-family%3A%26quot%3BArial%26quot%3B%3Bfont-style%3Anormal%22%3EContent+text%3C%2Fspan%3E%3C%2Fp%3E%3Cp%3E%3Cspan+style%3D%22color%3A%232c2c2c%3Bfont-weight%3A400%3Btext-decoration%3Anone%3Bvertical-align%3Abaseline%3Bfont-size%3A10.5pt%3Bfont-family%3A%26quot%3BArial%26quot%3B%3Bfont-style%3Anormal%22%3EContent+text%3C%2Fspan%3E%3C%2Fp%3E%3Cp%3E%3Cspan+style%3D%22font-size%3A10.5pt%3Bcolor%3A%232c2c2c%3Bfont-weight%3A700%22%3EShould+be+bold%3C%2Fspan%3E%3Cspan+style%3D%22color%3A%232c2c2c%3Bfont-weight%3A400%3Btext-decoration%3Anone%3Bvertical-align%3Abaseline%3Bfont-size%3A10.5pt%3Bfont-family%3A%26quot%3BArial%26quot%3B%3Bfont-style%3Anormal%22%3E%3A+regular+text%3C%2Fspan%3E%3C%2Fp%3E%3Cp%3E%3Cspan+style%3D%22font-size%3A10.5pt%3Bcolor%3A%232c2c2c%3Bfont-weight%3A700%22%3EShould+be+bold%3C%2Fspan%3E%3Cspan+style%3D%22color%3A%232c2c2c%3Bfont-weight%3A400%3Btext-decoration%3Anone%3Bvertical-align%3Abaseline%3Bfont-size%3A10.5pt%3Bfont-family%3A%26quot%3BArial%26quot%3B%3Bfont-style%3Anormal%22%3E%3A+regular+text+%3C%2Fspan%3E%3C%2Fp%3E%3Cp%3E%3Cspan+style%3D%22font-size%3A10.5pt%3Bcolor%3A%232c2c2c%3Bfont-weight%3A700%22%3EShould+be+bold%3C%2Fspan%3E%3Cspan+style%3D%22color%3A%232c2c2c%3Bfont-weight%3A400%3Btext-decoration%3Anone%3Bvertical-align%3Abaseline%3Bfont-size%3A10.5pt%3Bfont-family%3A%26quot%3BArial%26quot%3B%3Bfont-style%3Anormal%22%3E%3A+regular+text%3C%2Fspan%3E%3C%2Fp%3E'
    3     1        NEW                                                  $7      'domdocument'
          2        DO_FCALL                                          0          
          3        ASSIGN                                                       !1, $7
    4     4        INIT_METHOD_CALL                                             !1, 'loadhtml'
          5        SEND_VAR_EX                                                  !0
          6        DO_FCALL                                          0          
    5     7        INIT_METHOD_CALL                                             !1, 'getElementsByTagName'
          8        SEND_VAL_EX                                                  'span'
          9        DO_FCALL                                          0  $11     
         10        ASSIGN                                                       !2, $11
    6    11        FETCH_OBJ_R                                          ~13     !2, 'length'
         12        SUB                                                  ~14     ~13, 1
         13        ASSIGN                                                       !3, ~14
         14      > JMP                                                          ->39
    7    15    >   FETCH_DIM_R                                          ~16     !2, !3
         16        INIT_METHOD_CALL                                             ~16, 'getattribute'
         17        SEND_VAL_EX                                                  'style'
         18        DO_FCALL                                          0  $17     
         19        FRAMELESS_ICALL_2                strpos              ~18     $17, 'font-weight%3A700'
         20        TYPE_CHECK                                      1018          ~18
         21      > JMPZ                                                         ~19, ->38
    8    22    >   INIT_METHOD_CALL                                             !2, 'item'
         23        SEND_VAR_EX                                                  !3
         24        DO_FCALL                                          0  $20     
         25        ASSIGN                                                       !4, $20
    9    26        INIT_METHOD_CALL                                             !1, 'createElement'
         27        SEND_VAL_EX                                                  'strong'
         28        CHECK_FUNC_ARG                                               
         29        FETCH_OBJ_FUNC_ARG                                   $22     !4, 'nodeValue'
         30        SEND_FUNC_ARG                                                $22
         31        DO_FCALL                                          0  $23     
         32        ASSIGN                                                       !5, $23
   10    33        FETCH_OBJ_R                                          ~25     !4, 'parentNode'
         34        INIT_METHOD_CALL                                             ~25, 'replaceChild'
         35        SEND_VAR_EX                                                  !5
         36        SEND_VAR_EX                                                  !4
         37        DO_FCALL                                          0          
    6    38    >   PRE_DEC                                                      !3
         39    >   IS_SMALLER_OR_EQUAL                                          0, !3
         40      > JMPNZ                                                        ~28, ->15
   13    41    >   INIT_METHOD_CALL                                             !1, 'savehtml'
         42        DO_FCALL                                          0  $29     
         43        ECHO                                                         $29
         44      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
224.25 ms | 2693 KiB | 13 Q