正規表現を使用して ColdFusion Web サイトを PHP に変換しようとしています。やりたいことが見つからないので、自分でやる。
幸運なことに、coldfusion の Web サイトはプログラミングという点では基本的なものであり、正規表現で十分です。
しかし、私はどこかで立ち往生しています。このようなものを抽出するにはどうすればよいですか?
- <cfset mailfrom="hey">
- <cfset mailfrom='ちょっと'>
- <cfset mailfrom=hey>
- <cfset mailfrom = ちょっと>
- <cfset mailfrom="<hey>">
私は次のパターンを試しました:
preg_match_all('/<cfset (.*)( )=(| |\'|")(.*)(|\'|")>/iU', $this->Content, $customTags, PREG_SET_ORDER);
うまくいくときもあれば、うまくいかないときもあります。私の ColdFusion コードは、1 行または 1000 行になる場合があります。ですから、いつかはこのようなものを見るでしょう。<cfset mailfrom="hey"><cfset fdsfsd="3333">
<cfset mailfrom="hey">
完全な文字列 ( ) と何を ( ) に置き換えるかがわかるとすぐに、$mailfrom = "hey";
問題なく解析できるため、正規表現は少なくとも変数名と値を提供する必要があります。
ありがとう。
編集 :
私はこれを使用します:
preg_match_all('/<cfparam\s*([^>]*)\s*\/?>/i', $this->Content, $customTags, PREG_SET_ORDER);
<cfparam name="" default=""> に一致させます。同じようにできると思いますが、 parse(. ) = (. ) (Var = value)
しかし、ここでの問題は、この正規表現が値ゾーンで < と > に一致しないことです。