我正在为网站清理和实施定制的内容管理系统。网站上的所有页面都很简单,基本上是静态的,HTML 页面构建为一个简单的模板,如下所示:
<html>
<head><!-- resources, scripts, etc. --></head>
<body>
<div id="page">
<div id="header"><!--- static --></div>
<div id="content">
<!-- The main content - different on every page -->
</div>
<div>
<!-- Side bar -- footer-- and other static persistent content -->
</div>
</div>
</body>
</html>
我想要做的是批量查找并用#content
变量或注释替换元素或什么都没有。我已经提取了内容并将其存储在与相应 HTML 文件位于同一目录中的文件中。
我可以看到两种基本途径来完成我想要的:
#content
用我想要的替换所有文件。从页面中提取 html 并预处理或后处理数据以删除
#content
元素,然后将修改后的 html 写入新文件。
注意:文件太多,无法一一进行。
我尝试了不同的方法来做到这一点,包括 jQuery 插件、各种 nodejs 解决方案、grepWin 和Xidel。Xidel 是最有用的,但我还没有弄清楚如何使用它来输出所有的 HTML 减去#content
.
理想情况下,我想处理 的简单性$.replaceWith
,即:
$('#content').replaceWith('...');
当然,如果就这么简单,我现在可能已经偶然发现它了。
有谁知道这方面的工具或解决方案?- 即使它位于提供文件查找和替换功能的代码编辑器中。这只需要完成一次,所以它不需要是程序化的。
编辑:这是所需前后场景的示例。
前
<html>
<head>
I am content in the head - I should remain as I am
</head>
<body>
<div id="page"><!-- Wrapper for all pages -->
<div id="header">
I am a static header - I should remain as I am
</div>
<div id="content">
I am content - I am different on every page. I would like to be replaced please.
</div>
<div>
I am things like a sidebar, footer, copyright logo.
I may or may not be wrapped in a div, but I don't need to be changed
</div>
</div><!-- End of wrapper -->
</body>
</html>
后
<html>
<head>
I am content in the head - I should remain as I am (see I haven't changed)
</head>
<body>
<div id="page"><!-- Wrapper for all pages -->
<div id="header">
I am a static header - I should remain as I am (I haven't changed either)
</div>
<div id="content">
I AM VERY DIFFERENT. The only Thing inside of me is a variable. :)
</div>
<div>
I am things like a sidebar, footer, copyright logo.
I may or may not be wrapped in a div, but I don't need to be changed
(Nope. I haven't changed either)
</div>
</div><!-- End of wrapper -->
</body>
</html>