2011-09-04 65 views
3

我:str_replace函數+正則表達式

http://stackoverflow.com/questions/43242&cat=aa&id=342342 
http://stackoverflow.com/questions/43242&cat=aa&body=434&id=232 
http://stackoverflow.com/questions/43242&cat=aa&call=2323&id=14143434 

我想獲得:

不帶參數的ID此鏈接:

http://stackoverflow.com/questions/43242&cat=aa 
http://stackoverflow.com/questions/43242&cat=aa&body=434 
http://stackoverflow.com/questions/43242&cat=aa&call=2323 

如何讓用PHP? str_replace +正則表達式?

回答

7
preg_replace('~&id=[0-9]+~', '', $str); 
+0

謝謝,我更新了我的問題 –

+0

這確實是你需要的 – genesis

3

對此使用appropriate function,而不是正則表達式,因爲URL的不規則。

然後,你應該拆分查詢部分,這可以用正則表達式完成,但我想拆分&,然後過濾出ID部分。

+0

URLs不正常?這對我來說是新聞。當然,我都是使用正確的方法來完成某件事情,但據我所知,聲稱網址並非常規語言是錯誤的。 – Joey

+0

我如何在我的例子中使用這個功能? –

+0

我根據原來的問題被誤解了。我的意思是說,查詢參數的順序可能會有所不同。但是,只要在存在時替換'&id = [0-9] +'部分,就可以使用正則表達式來完成。 – CodeCaster