html正则表达式模板,正则表达式来解析模板块HTML

{firstname} {lastname}

user_details以上下列嵌段是含有像这样的数据的数组:

$user_details = array(

0 => array('firstname' => 'Hercules', 'lastname' => 'Zeus'),

1 => array('firstname' => 'Jesus', 'lastname' => 'Christ'),

2 => array('firstname' => 'John', 'lastname' => 'Smith'),

3 => array('firstname' => 'Goerge', 'lastname' => 'Bush')

);

存在与其他块不同的BEGIN/FINSIH数组名称和不同的{元素}所以,我需要一个正则表达式,它将遍历整个文件并查找像这样的块,然后遍历每个值并将其替换为实际值...

我最后的输出应该是:

Hercules Zeus

Jesus Christ

John Smith

George Bush

标签是不固定的,在一些块我用等

我现在有这样的代码:

$search_in = file_get_contents('path/to/my/html/file/');

$search_for = "#(.+?)#si";

if (!preg_match($search_for, $search_in, $return)) {

return NULL;

}

$return = preg_replace("#", "", $return[0]);

$return = preg_replace("#si", "", $return);

return var_dump($return);

//Look for anything enclosed in curly brackes like so {something}

if(!preg_match_all("/{([^}]*)}/", $search_in, $matches)) {

return NULL;

}

//Return all occurrences of {something} in an array for use later

foreach($matches[0] as $value) {

$_args[] = $value;

}

但第一个不是var_dump的任何数据,只有NULL,而且我知道上面的所有内容都是有效的数据。我得到这些错误:

Notice: Undefined index: firstname in /home/content/v/i/r... on line 96

Notice: Undefined index: lastname in /home/content/v/i/r... on line 96

我不想使用像codeIgniter,cakePHP,Zend或类似的框架。

+0

如果可能,请勿使用正则表达式。当然,有一个HTML解析库,可以通过元素进行导航。 –

+0

此外,user2864740,我自定义了我的块,所以我需要知道自己该怎么做,而我对DDM,smarty或类似项目不感兴趣,他们的文件太大我只需要几个函数 –

+0

我的意思是DOM上面不是DDM –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值