php preg_replace кроме

В одном тесте много абзацев.

<div class="text">...</div>
<div class="content">...</div>
<div class="aa bb">...</div>
<div class="aa cc">...</div>
<div class="aa dd">...</div>
<div class="aa ee">...</div>
<div class="aa ff">...</div>
...// more type of class="aa .*"

Я хочу удалить все div class="aa", но кроме div class="aa dd", как это сделать? Спасибо.

$html = preg_replace('/<div(.*?)class="aa(.*?)">([\s\S]*?)<\/div>/', '', $html);
// this will remove all the div include class 'aa', but I need remain class 'aa dd'

person fish man    schedule 31.07.2011    source источник
comment
Я бы сказал: не используйте регулярное выражение для управления HTML. Вместо этого используйте анализатор DOM, например класс DOMDocument, и его метод loadHTML().   -  person Pascal MARTIN    schedule 31.07.2011
comment
@Pascal MARTIN, Итак, если есть длинный длинный текст, как использовать dom parse для создания запроса, который мне нужен? Я знаю только использование dom, получить одно имя тега из текста.   -  person fish man    schedule 31.07.2011