2013-03-27 209 views
-1

我要发一些邮件插入文本包含一些宏,即时通讯替换的文字..在while循环

但问题是,当我有一个以上的结果,我想放入文本:

你好[名字],这些人写给你的:[personname] [personimage]。

只要它只是一个结果,这是确定..但如何把更多的结果是这样的:

[Name]您好,这些人曾写信给你:[PERSONNAME] [personimage],[PERSONNAME ] [personimage] ...等等。

这些结果,我从一个while循环得到,并试图将其在那里应该出现一个宏,但没有运气..

+1

请问一些代码? – 2013-03-27 14:05:28

+0

在while循环中,将它保存在一个临时变量中,并在while循环完成后,用您的临时变量替换'[personname] [personimage]' – kero 2013-03-27 14:05:57

+0

即使这个问题很难理解,但仍然是一个真正的问题。多读几遍,你会看到我所要求的。 Mr.Niek van der steen回答完美:) – teecee 2013-03-29 16:27:17

回答

1

有while循环存储中的数据到一个数组,即:

$myArray = array(); 
while(.. your condition) { 
    $myArray[] = $theName; 
} 

生成的字符串:

$myNameString = implode(',', $myArray); 

而且你的文字中替换:

$myMessage = str_replace('[names]', $myNameString, $myMessage); 

编辑:如果你想要多个属性(在你的例子中:名称和图像),只需将它添加到数组中。因此,而不是$ myArray [] = $ theName,将其更改为:

$myArray[] = $theName . ' ' . $theImage; 

其余保持不变。

+0

非常感谢! – teecee 2013-03-27 23:45:52