3v4l.org

run code in 300+ PHP versions simultaneously
<?php //Ingreso $html = ' <img class="img" src="ejemplo1.jpg"> <img width="72" height="72" alt="" class="bo img" src="https://scontent-mia3-2.xx.fbcdn.net/v/t1.0-1/cp0/e15/q65/p74x74/21151613_1725782907724134_7535903357386699205_n.jpg?efg=eyJpIjoiYiJ9&amp;oh=4f22a577f965566b2016ef842f5b110f&amp;oe=5A1DE043"> <img class="bo etc" src="ejemplo2.jpg"> <img class="bo etc img" src="ejemplo3.jpg"> '; //Englobamos en body para corregirlo y que lo procese bien $html = "<body>$html</body>"; //Generar el DOM $dom = new DOMDocument; $dom->loadHTML($html, LIBXML_COMPACT | LIBXML_HTML_NOIMPLIED | LIBXML_NONET | LIBXML_HTML_NODEFDTD); //Obtener todas las imágenes $img_nodelist = $dom->getElementsByTagName('img'); //Recorrer cada una foreach ($img_nodelist as $img) { //Obtener la lista de clases $clases = $img->getAttribute('class'); $clases_arr = explode(' ', $clases); //Ver si contiene ambas clases $clases_buscadas = array('bo', 'img'); if (!array_diff($clases_buscadas, $clases_arr)) { //Contiene las clases //Obtener el SRC $urlImagen = $img->getAttribute('src'); echo "URL: $urlImagen\n"; } }
based on hd6lv
Output for 5.6.38 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.23, 7.4.0 - 7.4.11, 8.0.0alpha1 - rc2
URL: https://scontent-mia3-2.xx.fbcdn.net/v/t1.0-1/cp0/e15/q65/p74x74/21151613_1725782907724134_7535903357386699205_n.jpg?efg=eyJpIjoiYiJ9&oh=4f22a577f965566b2016ef842f5b110f&oe=5A1DE043 URL: ejemplo3.jpg