2012-02-28 49 views
0

我正在尋找更改一些正則表達式我用來迎合HTML評論標籤,而不是CSS。preg_replace正則表達式更改

我已經建立了一個預浸料代替,可以在一個樣式表註釋之間編輯,像這樣的功能:

$find = array(); 
    $find[0] = "/(\/\*bgColor\*\/).*?(\/\*\/bgColor\*\/)/i"; 
    $find[1] = "/(\/\*titleColor\*\/).*?(\/\*\/titleColor\*\/)/i"; 
$replace = array(); 
    $replace[0] = "\\1 background-color: $bgColor; \\2"; 
    $replace[1] = "\\1 color: $titleColor; \\2"; 
$result = preg_replace($find, $replace, $file); 

這個工程下面展示的方式:

/*titleColor*/ color: #000; /*/titleColor*/ 

兩者之間的任何內容CSS標籤將被替換。

我期待複製這一想法,但與HTML像這樣:

<!--titleColor--> content_to_replace <!--/titleColor--> 

什麼我需要在preg_replace函數改變爲了這個正確使用HTML註釋標籤工作?

+0

在我看來,HTML註釋之前/之後的一些示例會讓我們更容易理解。 – inhan 2012-02-28 21:54:01

+0

已更新操作。這有幫助嗎? – tctc91 2012-02-28 21:57:32

回答

1
$find = array(); 
    $find[0] = '/(<!--titleColor-->)(.*?)(<!--\/titleColor-->)/i'; 
$replace = array(); 
    $replace[0] = '$1' . 'replacement' . '$3'; 
// I prefer enclosing the current inner value with patantheses 
// in case you might wanna change or use it inside the $replace value.