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(preg_match('/font-weight:700/', $elements[$i]->getattribute('style'))) { $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 = 38
Branch analysis from position: 38
2 jumps found. (Code = 44) Position 1 = 40, Position 2 = 15
Branch analysis from position: 40
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 37
Branch analysis from position: 21
2 jumps found. (Code = 44) Position 1 = 40, Position 2 = 15
Branch analysis from position: 40
Branch analysis from position: 15
Branch analysis from position: 37
filename:       /in/Y7Rua
function name:  (null)
number of ops:  44
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                                                          ->38
    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                preg_match          ~18     '%2Ffont-weight%3A700%2F', $17
         20      > JMPZ                                                         ~18, ->37
    8    21    >   INIT_METHOD_CALL                                             !2, 'item'
         22        SEND_VAR_EX                                                  !3
         23        DO_FCALL                                          0  $19     
         24        ASSIGN                                                       !4, $19
    9    25        INIT_METHOD_CALL                                             !1, 'createElement'
         26        SEND_VAL_EX                                                  'strong'
         27        CHECK_FUNC_ARG                                               
         28        FETCH_OBJ_FUNC_ARG                                   $21     !4, 'nodeValue'
         29        SEND_FUNC_ARG                                                $21
         30        DO_FCALL                                          0  $22     
         31        ASSIGN                                                       !5, $22
   10    32        FETCH_OBJ_R                                          ~24     !4, 'parentNode'
         33        INIT_METHOD_CALL                                             ~24, 'replaceChild'
         34        SEND_VAR_EX                                                  !5
         35        SEND_VAR_EX                                                  !4
         36        DO_FCALL                                          0          
    6    37    >   PRE_DEC                                                      !3
         38    >   IS_SMALLER_OR_EQUAL                                          0, !3
         39      > JMPNZ                                                        ~27, ->15
   13    40    >   INIT_METHOD_CALL                                             !1, 'savehtml'
         41        DO_FCALL                                          0  $28     
         42        ECHO                                                         $28
         43      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
228.58 ms | 3430 KiB | 13 Q