2014-06-30 120 views
3

我想從字符串中刪除子字符串。 String是一個HTML文檔和子串如下:preg_replace URL與MD5字符串

t.php?t=71f51692772c336bd9bb26d93c985eb5 <= Always a MD5 hash. 

t.php?t=MD5Hash1.gif更換。

我試着用下面的例子。然而,這是行不通的:

$FileHTML = preg_replace("t.php?t=/^[0-9a-f]{32}$/i", "1.gif", $FileHTML); 

有人可以幫我嗎?

+0

你的分隔符是放錯了地方。 '/t.php?t=[0-9a-f]{32} $/i'正確的使用它 –

+0

@AlmaDo除了'^'仍然是錯誤的。 –

+0

@NiettheDarkAbsol對,我只是錯過了它。修正了,謝謝(畢竟沒有'^',因爲我相信它根本就不存在) –

回答

3

經常重複的一句話:Yer doin'it wrong!

$FileHTML = preg_replace("/\Qt.php?t=\E[0-9a-f]{32}/i","1.gif",$FileHTML); 

說明:

  • \Q:字面匹配...
    • t.php?t=
  • \E:文字比賽結束這裏
  • [0-9a-f]{32}:比賽32個hexits

注意:請勿爲此使用^$

0

您也可以使用此

$FileHTML = preg_replace("/[t.php?t=]+[0-9a-f]{32}/i","1.gif",$FileHTML);