2011-08-05 91 views
0

PHP和MySQL的新品牌,並一直試圖找出如何在博客文章的文本字段中使用正確的圖像替換標籤(即[image:1]) 。我現在有能力(感謝一些指向正確方向的指針)將正確的圖片與正確的帖子放在一起,但我希望實際上將它們放入文本中,這取決於我將標籤放在帖子本身中的位置。例如,現在我可以在回覆$ row ['post']本身之前回顯圖片,但我無法弄清楚如何編程php來實際查看$ row ['post'],找到[image:1],在那裏回覆帶有該id的圖片,然後繼續回覆帖子的其餘部分。那有意義嗎?用圖像替換MySQL文本字段中的標籤

+0

不,它不會:) – shankhan

回答

0

如果你有一個變量$image_tag圖像標籤,如果你的帖子體容納在$row['post'],你的邏輯應該是這個樣子:

$body_text = str_replace ("[image:1]", $image_tag, $row['post']); 
echo $body_text; 

所以基本上,而不是第一傾銷圖像,然後正文文本,首先用相應的圖片標籤替換您的圖片佔位符,然後再寫出。

0

如果你的「標籤」是一種已知的字符串,永遠不會改變,那麼PHP的str_replace() function可能就足夠你:

$output = str_replace("[input:1]", $replacement_string, $original_string); 

如果您的代碼串可以改變 - 說你想擁有[image:1]但[image:anything-else],那麼你會發現preg_replace()是一個更有用的功能。 preg_replace()允許使用更先進的模式匹配(正則表達式)來替換字符串:

$output = preg_replace("/\[input:(.+)\]/", '<img src="image_number_$1">', $original_string); 

在這個例子中,替換字符串包括在原始標籤給圖像編號的參照 - 即(.+)被映射到$1。正則表達式本身就是一個完整的討論,所以如果你不太瞭解它,我推薦閱讀 - 它是非常強大的,但可能相當神祕(以上是一個相對簡單的例子!)。

希望有所幫助。