РЕДАКТИРОВАТЬ: Я только что закончил, используя возможности Flash XML для чтения HTML.Нет необходимости в селекторах RegExp!
Вот мой ActionScript
var evaluatedInput:RegExp = new RegExp('<([A-Z][A-Z0-9]*)\\b[^>]*>(.*?)</\\1>', 'gi');
var result:Object = evaluatedInput.exec("<p>Hi!</p><span>Hi!</span><table><tbody><tr><td>Hi!</td></tr></tbody></table><img src=\"nice.jpg\" />");
while (result != null) {
trace (result);
result = evaluatedInput.exec("<p>Hi!</p><span>Hi!</span><table><tbody><tr><td>Hi!</td></tr></tbody></table><img src=\"nice.jpg\" />");
}
Содержание в моем окне вывода - это именно то, что я хотел, только теги верхнего уровня выбраны:
<p>Hi!</p>,p,Hi!
<span>Hi!</span>,span,Hi!
<table><tbody><tr><td>Hi!</td></tr></tbody></table>,table,<tbody><tr><td>Hi!</td></tr></tbody>
Используя предложенное регулярное выражение выше, я получаю:
<p>,p
</p>,p
<span>,span
</span>,span
<table>,table
<tbody>,tbody
<tr>,tr
<td>,td
</td>,td
</tr>,tr
</tbody>,tbody
</table>,table
<img src="nice.jpg" />,img
Поэтому, чтобы улучшить новое регулярное выражение, я бы хотел:
- Выбрать только верхний уровеньHTML-теги, а не вложенные
- Возвращает тег и атрибуты тега только что выбранного элемента
- Возвращает содержимое, HTML и все теги, которые он выбрал
Извините за сбой список деталей.(