I am pretty new to PHP and hope someone here can help me with this:
I have a variable string that looks like the following, containing either nothing OR a series of words, separated with comma and space.
Example:
item1, item2, item3
What would be the best / fastest way to replace the single items in this string by adding an img tag with the same item name as the source + remove the commas ?
The above example should then look as follows:
item1 <img src="item1.png" alt="" /> item2 <img src="item2.png" alt="" /> item3 <img src="item3.png" alt="" />
Many thanks for any help with this, Mike.
This can be done in a 1-liner, but since you're new to PHP, lets just make it clear.
First split the string to get an array of the different items.
$itemsStr = "item1, item2, item3"; // input string
$items = explode(", ", $itemsStr); // Gets an array of items
Now traverse the items array and add the string for each item:
foreach($items as $key => $val)
{
$items[$key] = $item . "<img src='$item.png' alt='' /> ";
}
$output = implode(" ", $items);
This preg_replace
should do it:
$in = 'item1, item2, item3';
$out = preg_replace('/( ?([^,]+)),?/', '$1 <img src="$2.png" alt="" />', $in);
$out
then is:
item1 <img src="item1.png" alt="" /> item2 <img src="item2.png" alt="" /> item3 <img src="item3.png" alt="" />