2012-01-13 21 views
1

我有一個變量,它將包含一個相對URL(即../test.html),我想使用該變量並用絕對變量替換它。無論如何,我想知道是否有一個更優雅的方式,當它包含需要在正則表達式中轉義的字符時,轉義字符串。我得到了以下工作:在PHP中,如何逃避一個變量的正則表達式?

str_replace(array(".","/"), array("\\.","\\/"), $urls[0][$key]) 

但我認爲這是一個更好的辦法用了preg_replace這樣做,但我似乎無法得到它的工作。我試着用回參考以下內容:

preg_replace('/[\.\/]/i', '\\\1', $urls[0][$key]) 

似乎並沒有得以順利的可能,因爲PHP是這樣的,在preg_replace函數轉義一些字符:

當使用電子改性劑,此功能在更換反向引用字符串轉義一些字符(即」」,\和NULL)。

有誰知道我能得到的preg_replace工作?

感謝您的幫助!

回答

1

preg_quote。而且,並非所有東西都是變量。這不是一個絕對的變量,你只是用代表絕對路徑的字符串替換變量。

+0

非常好!謝謝,它完美的作品。 – thiesdiggity 2012-01-13 21:23:35

相關問題