2013-03-27 203 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