-2

ページの上部と下部をスクレイピングし、2 つの異なる変数として保存することで、ColdFusion を使用して新しいレイアウトを動的に作成する必要があります。

ここまでトップはトップでストップ。

googleoff: all (This is in an HTML Comment)

下はこれから

googleon: all (This is in an HTML comment)

終わりまで。

これを行うには正規表現を使用できると考えています。

4

1 に答える 1

0

これらのコメントが指定した位置でのみ発生すると仮定すると、正規表現文字列分割で簡単にこれを行うことができます。

<cfset Sections = String.split( '<!-- google(?:on|off): all -->' ) />

<cfset TopOfPage    = Sections[1] />
<cfset BottomOfPage = Sections[3] />

コメントが修正されていない場合は、更新された正規表現が必要になります。たとえば、\s*空白が予測できない場合は、スペースを置き換えることができます。


比較のために、非正規表現バージョンを次に示します。

<cfset EndOfTopPos      = find( '<!-- googleoff: all -->' , String ) - 1 />
<cfset StartOfBottomPos = find( '<!-- googleon: all -->' , String , EndOfTopPos ) + 22 />

<cfset TopOfPage    = left( String , EndOfTopPos ) />
<cfset BottomOfPage = right( String , len(String)-StartOfBottomPos ) />

これは固定文字列で機能するため、高速ですが、この違いが大きくなる前に、これを数千回繰り返す必要があります。

于 2012-07-20T11:05:05.260 に答える