Preg_match_all og foreach
Hej EksperterJeg sidder med et irriterende problem og jeg er sikker på at jeg er ret tæt på men jeg kan bare ikke komme det sidste stykke.
Problem:
Har en output af billeder (img) som skal lave til en liste (li)! Outputtet for jeg via en shortcode (wordpress) hvor hele billedet tagget er som content i shortcoden.
Shortcode:
[photos]
<img src="sti/nummer1" alt="1" />
<img src="sti/nummer2" alt="2" />
<img src="sti/nummer3" alt="3" />
[/photos]
Jeg har lavet en funktion som skal tage shortcoden og lave om til dette output:
<ul>
<li><img src="sti/nummer1" alt="1" /></li>
<li><img src="sti/nummer2" alt="2" /></li>
<li><img src="sti/nummer3" alt="3" /></li>
</ul>
Og det er her mit problem ligger.
Funktionen:
function photoSlider($atts, $content = null) {
// Removes unwanted <br /> tags
$images = str_replace("<br />", "", $content);
// Splits the images into a array
$images = preg_match_all('/<img[^>]+>/',$images, $res);
$gallery = '<ul>';
foreach($res as $photo) :
$gallery .= '<li>'. $photo .'</li>';
endforeach;
$gallery .= '</ul>';
return $gallery;
}
add_shortcode("photos", "photoSlider");
Dette resulter i:
<ul><li>Array</li></ul>
Og det forstår jeg sådan set godt, jeg ved bare ikke hvad jeg skal gøre for at fikse det. Det er noget med at det faktisk er en array i en array eller noget i den retning.
Jeg håber der er nogen som har en nem og hurtigt løsning. (og til dem som synes det er mærkelig at jeg ikke bare finder svaret ved at søge her eller på google, så ville det være rart med et link til en artikel som kan hjælpe! For jeg har været vidt omkring ;)
Mvh, Mads