2013-05-12 28 views
0

我有一些文字如下:如何用PHP替換多個字符串?

$text ='Some texts![desciptions 01][1]some texts![desciptions 02][2]Some texts [1]: http://upload.wikimedia.org/wikipedia/commons/7/7e/image_F-2_at_Guam_%28Cropped%29.jpg [2]: http://upload.wikimedia.org/wikipedia/commons/7/7e/image_F-2_at_Guam_%28Cropped%29.jpg 

我想prelaces格式![desciptions 01][1]空間,刪除格式[1]: http://upload.wikimedia.org/wikipedia/commons/7/7e/image_F-2_at_Guam_%28Cropped%29.jpg'這樣的

文本格式是有可能比在內容上的文字多了,我想更換全部由PHP完成。

我喜歡這個

$text = 'Some texts some texts Some texts' 

結果如何做到這一點?

感謝您的幫助!

回答

0

如果你要經常更換的是相同的(靜態和換句話說預測的),你應該使用PHP函數str_replace函數(php.net

例子:

str_replace("![desciptions 01][2]"," ",$text); 

如果什麼你想要替換是可變的,你需要一個腳本來搜索模式。它被稱爲正則表達式搜索和替換(php.net),看起來像這樣:

$patterns[] = "/\[b\]([^\n\r]*?)\[\/b\]/si"; 
$replacements[] = "<b>\\1</b>"; 
$str = preg_replace($patterns, $replacements, $str); 

This will make [b]text[/b] into <b>text</b> 
+0

感謝您的幫助。但我想要自動替換所有格式包括'[1]:http:// upload.wikimedia.org/wikipedia/commons/7/7e/image_F- 2_at_Guam_%28Cropped%29.jpg' ...。 – 2013-05-12 15:10:45

+0

好吧,如果它總是相同的,你可以使用str_replace();如:'$ a =「[1]:http://upload.wikimedia.org/wikipedia/commons/7/7e/image_F-2_at_Guam_%28Cropped% 29.jpg」; str_replace($ a,「」,$ text);' – Niddro 2013-05-12 18:46:30