3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = ' <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut <span class=" red email_p_14">labore@et.de</span> dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea consequat. Duis aute irure in reprehenderit in voluptate velit <span class="email_p_22">esse@cillum.de</span> dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit <span class="blue email_ green">anim@id.de</span> laborum. Donec elementum ligula. Quis nostrud exercitation ullamco <span class="blue email_ green black">laboris@nisi.de</span> aliquip ex ea consequat. </p>'; $dom = new DOMDocument; libxml_use_internal_errors(true); $dom->loadHTML($string); $xpath = new DOMXPath($dom); $result = []; foreach ($xpath->query("//span[starts-with(@class, 'email_') or contains(@class, ' email_')]") as $span) { $result[] = [ 'mail' => $span->nodeValue, 'class' => preg_replace( '~.*\b(email_\S*).*~', '$1', $span->getAttribute('class') ) ]; } var_export($result);
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.4, 8.3.6 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0 - 8.5.1
array ( 0 => array ( 'mail' => 'labore@et.de', 'class' => 'email_p_14', ), 1 => array ( 'mail' => 'esse@cillum.de', 'class' => 'email_p_22', ), 2 => array ( 'mail' => 'anim@id.de', 'class' => 'email_', ), 3 => array ( 'mail' => 'laboris@nisi.de', 'class' => 'email_', ), )
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 array ( 0 => array ( 'mail' => 'labore@et.de', 'class' => 'email_p_14', ), 1 => array ( 'mail' => 'esse@cillum.de', 'class' => 'email_p_22', ), 2 => array ( 'mail' => 'anim@id.de', 'class' => 'email_', ), 3 => array ( 'mail' => 'laboris@nisi.de', 'class' => 'email_', ), )

preferences:
221.44 ms | 410 KiB | 5 Q