2012-01-28 90 views
0

我還沒有在php中做正則表達式。關於正則表達式在php中

我需要用空字符('')替換三個反斜槓(\\\)。

因此,任何人都可以幫我解決這個問題在PHP?

例子:

  1. \\\與空( '')

  2. 取代\\\\替換\

感謝球員的答覆,但它仍然是不工作。

+1

爲什麼正則表達式?正則表達式只有在你想保持長度大於3的反斜槓時纔有意義。即刪除\\\但保持\\\\。 – 2012-01-28 14:01:56

回答

2

這應做到:

preg_replace('/\\\\\\\\\\\\/', "\x00", $input) 

每個\需要轉義爲PHP作爲\\並再次PCRE爲\\\\,所以三個反斜線\\\\\\\\\\\\

你可能想用preg_quote,而不是工作:

preg_replace('/'.preg_quote('\\\\\\', '/').'/', "\x00", $input) 
+3

我認爲OP的意思是空字符串'''',當他寫»空字符« - 雖然我也被這個位弄糊塗 – knittl 2012-01-28 14:15:22

1

爲什麼不str_replace()

的模式是如此簡單,str_replace()沒有工作

$new = str_replace('\\\\\\', '', $old); 

檢查手冊http://php.net/manual/en/function.str-replace.php

+2

您需要模式字符串中的六個反斜槓。在你的版本中,第一對形​​成一個反斜槓,然後'\'嵌入一個單引號。那麼沒有字符串終止符。 – Borodin 2012-01-28 14:01:32