我需要通过抓取页面的顶部和底部并保存为 2 个不同的变量来使用 ColdFusion 动态创建新布局。
顶部停止在顶部,直到这个。
googleoff: all (This is in an HTML Comment)
底部从这里开始
googleon: all (This is in an HTML comment)
直到最后。
我在想我可以使用正则表达式来做到这一点。
我需要通过抓取页面的顶部和底部并保存为 2 个不同的变量来使用 ColdFusion 动态创建新布局。
顶部停止在顶部,直到这个。
googleoff: all (This is in an HTML Comment)
底部从这里开始
googleon: all (This is in an HTML comment)
直到最后。
我在想我可以使用正则表达式来做到这一点。
假设这些注释只出现在您所说的位置,您可以使用正则表达式字符串拆分轻松地做到这一点:
<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 ) />
由于这适用于固定字符串,因此速度更快 - 但您需要重复数千次才能使这种差异变得显着。