2010-12-18 8 views
0

私は、2つのタグの間でデータを置き換える時間がある。私はこのパターンに一致する正規表現を理解することはできません。 My tags are simply <!-- Model # Start --> and <!-- Model # End -->PHP Regexでタグ間を置換

コード:

 $products[''.$row[0].''][2] = preg_replace("/(<!-- Model # Start -->).*(<!-- Model # End -->)/i", "$1$2", $products[''.$row[0].''][2]); 
     echo $products[''.$row[0].''][2] . "\n"; 

データ:[ '$行[0]' ''] $製品[2]

Economical. 7 mils thick, tough & stretchy. Each roll cellophane wrapped. UL listed. 

<!-- Model # Start --> 
<p style='text-align: right;'>16736</p> 
<!-- Model # End --> 
+1

空の文字列を連結する目的は何ですか? '$ products [''。$ row [0]。 '']'。 '(string)'のようなものを取得しようとしていますか? – alex

答えて

1

試してみてください。

/(.*<!-- Model # Start -->).*(<!-- Model # End -->.*)/im 

複数行一致の場合はmフラグに注意してください。

タグの出現が複数ある場合は、最初の一致を得るために不本意な量指定子を使用するか、またはルックアライメントを使用することができます。

http://rubular.com/がテストに役立ちます。

+0

パーフェクトであり、偉大な正規表現ツールへのリンクをありがとう! –

+0

私は銃を素早く飛ばしたと思う。このコードは... $ products ['' $ row [0]。 ''] [2] = preg_replace( "/(.*