我需要在PHP中的類似功能這個JavaScript函數PHP函數與此類似JavaScript函數
text = text.replace(/ffc/g, "Hello");
我想了preg_replace會做,但我不知道怎麼寫的表達..
我想類似/ffc/g
正則表達式是上面的,我需要的到底是什麼進行更換時要匹配完整的單詞和案例...
我需要在PHP中的類似功能這個JavaScript函數PHP函數與此類似JavaScript函數
text = text.replace(/ffc/g, "Hello");
我想了preg_replace會做,但我不知道怎麼寫的表達..
我想類似/ffc/g
正則表達式是上面的,我需要的到底是什麼進行更換時要匹配完整的單詞和案例...
$text = preg_replace('/ffc/', 'replacement text', $subject);
PHP的在線手冊是相當驚人的,而語言的一個最好的功能:
str_replace($needle, $replacement, $haystack);
在[PCRE](http://www.php.net/manual/pl/reference.pcre.pattern.modifiers.php)中也沒有像'g'這樣的修飾符,同樣使用regexp進行簡單替換也是過度使用。 – Crozin 2010-04-30 05:31:45
誰對正則表達式有什麼評論? – dclowd9901 2010-04-30 05:40:15
preg_replace(); 會做。
釋:
preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]])
The pattern to search for. It can be either a string or an array with
字符串。
The e modifier makes preg_replace() treat the replacement
參數作爲 適當引用替換後的PHP代碼是 完成。提示:確保替換 構成有效的PHP代碼字符串 ,否則PHP將在包含 preg_replace()的行中抱怨 解析錯誤。
該字符串或字符串數組替換爲 。如果此參數是字符串 ,並且模式參數是數組,則 所有模式將被替換爲該 字符串。如果pattern和 替換參數都是數組,則 中的每個模式將被 替換對應替換。如果替換 陣列中的元素數少於模式陣列中的 ,則任何 多餘的模式將被替換爲 空字符串。
replacement may contain references of the form \\n or (since PHP 4.0.4)
$ N,後者的形式是所述 優選的。每個這樣的參考文獻 將被第n個括號內的模式所取代的文本 所取代。 可以是0到99,並且\ 0或$ 0 指的是整個模式匹配的文本。開頭括號是 從左到右數(從1開始 )獲取 捕獲子模式的編號。要替換使用反斜槓 ,它必須加倍 (「\\」PHP字符串)。
When working with a replacement pattern where a backreference is
緊接着另一個號碼 (即:一個匹配的模式後,將文字數 立即), 不能使用熟悉的\ 1 符號爲您的反向引用。 \ 11, 例如,將會混淆 preg_replace(),因爲它不知道 您是否希望\ 1反向引用 後跟文字1或反向引用後面什麼都不是。在 這種情況下,解決方法是使用 \ $ {1} 1。這會創建一個單獨的$ 1 反向引用,而將1作爲 文字。
在 字符串替換 反向引用When using the e modifier, this function escapes some characters
(即」,」,\和NULL)。這樣做是爲了確保從 反向引用使用而造成的使用單 或雙引號沒有語法錯誤 (例如 '的strlen(\' $ 1 \ ')+ strlen的( 「$ 2」)')。讓 確保您瞭解PHP的字符串 語法確切地知道該 解釋字符串什麼樣子的。
字符串或者使用字符串的數組來搜索和替換。
If subject is an array, then the search and replace is performed on
受試者的每一個條目,並且返回 值是一個數組爲好。
每個主題字符串中的每個模式的最大可能替代數。
如果指定了,這個變量將會被 所填充的替換數 完成。 默認爲-1(無限制)。
preg_replace()返回一個數組,如果 的主體參數是一個數組,否則返回一個字符串 。
如果找到匹配,新的主題 將被退回,否則受 將是否發生 返回錯誤不變或NULL。
去你替換全字的要求,我建議如下:
$text = preg_replace ('/\bffc\b/', 'Hello', $text);
替換「FFC」的所有實例,並區分大小寫
無效的表達,無效使用['preg_replace'](http://pl.php.net/manual/en/function.preg-replace.php),最後...使用常規的rxpressions進行如此簡單的任務。 – Crozin 2010-04-30 05:28:25
也許OP只是要求在PHP中使用正則表達式替換函數。考慮到在線手冊的強大性,我也認爲提及php.net是一個很棒的想法。 – dclowd9901 2010-04-30 05:31:41