2010-03-02 117 views

回答

0

它甚至可以工作嗎?

echo camelize('http://google.com/'); 

結果:

Http:::/google.com:: 

它的大部分如何 「工作」 可以在文檔上preg_replace找到。它使用數組形式進行多次替換(請參見示例2)。它使用e開關執行PHP代碼,而不是進行字符串替換。

2

通常是:preg_replace('/pattern/flags', $replacement, $text)

這裏的第一個和第二個參數是相同大小的數組,它就像你爲數組的每個$元素調用preg_replace一樣。

其次,/通常是模式分隔符,但實際上您可以使用任何字符,只要將其用作第一個分隔符即可。 (這裏#在第一圖案中使用)

在替換字符串,\\1(其\1轉義)表示第一括號匹配和\2的含量的第二場比賽。

在這種情況下 \1

是什麼是匹配由.?在所述第一圖案和\2是什麼`。\在第二圖案

1

替換什麼是/(.?)'::'.strtoupper('\\1')匹配其中\1是由什麼匹配替換匹配在正則表達式組1:(.?)

而取代的是什麼(^|_|-)+(.)strtoupper('\\2')其中\2是由什麼是正則表達式組2匹配替換匹配:(.)

正則表達式#1:/(.?)表示:

/  # match the character '/' 
(  # start capture group 1 
    .? # match any character except line breaks and match it once or none at all 
)  # end capture group 1 

和正則表達式#2:(^|_|-)+(.)表示:

(  # start capture group 1 
^ # match the beginning of the input 
    | # OR 
    _ # match the character '_' 
    | # OR 
    - # match the character '-' 
)+  # end capture group 1 and repeat it one or more times 
(  # start capture group 2 
    . # match any character except line breaks 
)  # end capture group 2 

注意^輸入的開頭匹配,字面^

相關問題