2010-06-26 11 views
1

我是0123'的新手,我一直試圖讓這個工作,我不能這樣StackOverflow是我的最後一次機會。PHP:Preg替換字符串什麼都不是

我有一些這類的字符串:

('pm_IDHERE', 'NameHere');"> 

我想讓它什麼也沒有更換,所以它需要2個通配符NameHerepm_IDHERE

不過,我已經嘗試過了,失敗了自己,所以可能有人給我正確的代碼,請和謝謝:)

+1

你能證明什麼不起作用嗎?如果有人能向你展示你出錯的地方,它幾乎總是更好(因爲你),因此......你更好地理解表達。在SO上詢問'正確的代碼'的結果是未定義的。 – 2010-06-26 19:21:37

+0

我對你需要的東西感到滿意。你能提供一個你在做什麼和沒有工作的例子嗎?查看一下PHP手冊,瞭解preg的一些很好的例子:http://php.net/manual/en/function.preg-replace.php – labratmatt 2010-06-26 19:36:01

+0

$ str = preg_replace(「#\('pm _(。+ ?)','(。*?)');#si「,」\ 1「,$ str); – Joseph 2010-06-26 20:54:08

回答

3

更新:

你就要成功了,你就必須做更換一個空字符串和正確轉義括號,否則會被視爲捕獲組(你不BTW需要):

$str = preg_replace("#\('pm_.+?', '.*?'\);#si", "", $str); 

你可能也不需要修飾si,但這取決於你。


老答案:

大概str_replace()足夠:

$str = "Some string that contains pm_IDHERE and NameHere"; 
$str = str_replace(array('pm_IDHERE', 'NameHere'), '', $str); 

如果這是你的意思是不是和pm_IDHERE實際上是一樣的東西pm_1564然後是,你可能需要的正則表達式爲了那個原因。但是,如果NameHere沒有實際的模式或結構,則不能用正則表達式替換它。
而且你一定要解釋一下什麼樣的字符串你有什麼樣的字符串你想替換