【发布时间】:2010-04-12 11:05:00
【问题描述】:
正则表达式让我哭了,所以我来这里寻求帮助。
我正在Panic's Coda 中寻找有关查找和替换的一些提示。我知道 F&R 非常先进,但我只是在寻找最好的方法来做到这一点。 我正在尝试重写我正在使用的“模板引擎”(非常基本) 我正在用 PHP (CodeIgniter) 编写 webapp。
目前我这样称呼我的模板:
$this->load->view('subviews/template/headerview');
$this->load->view('subviews/template/menuview');
$this->load->view('subviews/template/sidebar');
$this->load->view('The-View-I-Want-To-Load'); // This is the important line
$this->load->view('subviews/template/footerview');
但是每次我想使用五行代码时效率很低 在每个不同的控制器中加载不同的页面。于是我改写成这样:
$data['view'] = 'The-View-I-Want-To-Load';
$this->load->view('template',$data);
这样,如果我需要对设计进行任何重大更改,它可以 可以从 template.php 视图文件(包含标题、菜单、侧边栏视图等)轻松完成。
但是我在很多地方都使用了前面的 5 行 不同的控制器和功能。所以,我的问题是---我怎么能 查找并替换旧的模板引擎(5 行代码)为新的 一 - 以视图的名称替换重要的、唯一的 $data['view] 中的那一行?
这有意义吗?!如果没有,我会尝试改写!我的意思是,有没有办法通过正则表达式或其他方式来做到这一点?还是我在这里完全错了?
【问题讨论】:
-
这五行是否总是以相同的顺序出现?或者,换句话说,我如何知道其中哪一个包含您要加载的视图?
-
它们总是以相同的顺序出现。第四行始终包含我要加载到主要内容区域的视图。所以第四行是动态的,否则第 1、2、3 和 5 行始终保持不变。