2014-06-30 72 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);