Помогите написать парсер.
Я уже перепробовал несколько вариантов, но у меня ни чего не выходит. Вроде кажется легко, но на самом деле стало непосильной задачей.
Необходимо, из такого текста:
<html>
<head><title>Hello Wold</title></head>
<style>
.color{gray;}
</style>
<body>
<div id="person1">
<div>Имя: Евгений</div>
<span><a href="profile.html?id=person1">Профиль</a></span>
<script> var text='<div id="person1"><blalblalbla>'; </script>
<div><div>Ещё описание</div></div>
</div>
<div id="person2" class="active">
<div>Имя: Сергей</div>
<span><a href="profile.html?id=person1">Профиль</a></span>
<span>123</span>
</div>
<div id="person3">
<div>Имя: Иван</div>
<span><a href="profile.html?id=person1">Профиль</a></span>
<div><div>Ещё описание</div></div>
<span>123</span>
</div>
<div id="person4">
<div>Имя: Пётр</div>
<span><a href="profile.html?id=person1">Профиль</a></span>
<div><div>Ещё описание</div></div>
</div>
</body>
</html>
Получить примерно такой массив:
$arr=array(
[0]=>'
<div id="person1">
<div>Имя: Евгений</div>
<span><a href="profile.html?id=person1">Профиль</a></span>
<script> var text=\'<div id="person1"><blalblalbla>\'; </script>
<div><div>Ещё описание</div></div>
</div>
',
[1]=>'
<div id="person2" class="active">
<div>Имя: Сергей</div>
<span><a href="profile.html?id=person1">Профиль</a></span>
<span>123</span>
</div>
',
[2]=>'
<div id="person3">
<div>Имя: Иван</div>
<span><a href="profile.html?id=person1">Профиль</a></span>
<div><div>Ещё описание</div></div>
<span>123</span>
</div>
',
[3]=>'
<div id="person4">
<div>Имя: Пётр</div>
<span><a href="profile.html?id=person1">Профиль</a></span>
<div><div>Ещё описание</div></div>
</div>
');
Разбор XML пожалуйста не предлагайте. Я пытаюсь разобраться в составлении регулярных выражений, поэтому мне очень важно понять как это сделать при помощи регулярок.