PHP:替换字符串中的变量值

时间:2014-04-26 18:31:40

标签: php arrays replace str-replace

我对PHP很陌生,希望有人可以帮助我:

我有一个变量字符串,如下所示,不包含任何内容或一系列单词,用逗号和空格分隔。

示例:

item1, item2, item3

通过添加与源名称相同的项目名称的img标记来替换此字符串中的单个项目的最佳/最快方法是什么?删除逗号?

以上示例应如下所示:

item1 <img src="item1.png" alt="" /> item2 <img src="item2.png" alt="" /> item3 <img src="item3.png" alt="" />

非常感谢Mike的任何帮助。

2 个答案:

答案 0 :(得分:3)

这可以在1-liner中完成,但由于你是PHP的新手,让我们说清楚。

首先拆分字符串以获取不同项目的数组。

$itemsStr = "item1, item2, item3";  // input string
$items = explode(", ", $itemsStr);  // Gets an array of items

现在遍历items数组并为每个项添加字符串:

foreach($items as $key => $val)
{
    $items[$key] = $item . "<img src='$item.png' alt='' /> ";
}

$output = implode(" ", $items);

答案 1 :(得分:1)

这个preg_replace应该这样做:

$in = 'item1, item2, item3';
$out = preg_replace('/( ?([^,]+)),?/', '$1 <img src="$2.png" alt="" />', $in);

$out然后是:

item1 <img src="item1.png" alt="" /> item2 <img src="item2.png" alt="" /> item3 <img src="item3.png" alt="" />