2012-02-28 5 views
0

私はCSSの代わりにHTMLコメントタグを用意するために使用している正規表現を変更したいと考えています。preg_replace regex change

私はプリプレグはそうのようなスタイルシートのコメントの間で編集することができます機能を置き換える構築しました:

$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*/ 

2の間の任意のコンテンツCSSタグが置き換えられます。

私はそうのように、このアイデアが、HTMLとを複製するために探しています:

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

私は、これはHTMLのコメントタグで正しく動作するためににpreg_replaceに変更する必要がありますか?

+0

HTMLの前/後のコメントの例は、私たちが理解しやすくするでしょう。 – inhan

+0

更新されたop。それは役に立ちますか? – tctc91

答えて

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.