拉出两个标签之间的数据

时间:2014-04-15 14:00:37

标签: php apache webserver virtualhost

我希望提取两个标签和

之间的信息
<VirtualHost *:80>
ServerAlias ...
SiteName ...
...
</virtualHost>

可以在标签之间逐行提取数据并将其保存在额外的文件或数组中吗?

2 个答案:

答案 0 :(得分:0)

我相信有人会用正则表达式解决方案回复;但这就是我这样做的方式(因为我现在吮吸正则表达式):

<?php

// source
$str = '<VirtualHost *:80>
ServerAlias ...
SiteName ...
...
</virtualHost>';

// parse
$str_parts = explode('>', $str);
$str_parts = trim(str_replace('</virtualHost', '', trim($str_parts[1])));

// debug
var_dump($str_parts);

输出:

string 'ServerAlias ...

SiteName ...

...' (length=34)

答案 1 :(得分:0)

以下内容应与您提供的代码之间的所有内容相匹配:

(?<=<VirtualHost \*\:80\>)(.|\r|\n)+(?=<\/virtualHost>)

然后只需将新行扼杀成数组