Вы захотите выйти из «&», как говорит Вомблтон, а также заключить свой шаблон в прямую косую черту, как $ pattern = "/ pattern /";
Приведенный ниже код возвращает массив с некрасивым содержимым, но, по крайней мере, возвращает совпадение .. :)
$description = " <tr>
<td id="descriptionArea">
Customer request to remove "Intro - 01/13/09" video clip.
<br/>
</td>
</tr>";
$pattern = "/<td.*[&]quot;descriptionArea[&]quot;[&]gt;\s*(.*?)\s*.*?lt/";
$clean = preg_replace("'[\n\r\s\t]'","",$description); // to rid of line breaks
preg_match($pattern, $clean, $matches);
var_dump($matches);
EDIT
Вот более приятная версия. Избавьтесь от всей кодировки HTML, чтобы вы могли использовать стандартное регулярное выражение HTML-разбора:
$pattern = '/<.*?id="descriptionArea">(.*?)<\/td>/';
$clean = preg_replace("'[\n\r\t]'","",htmlspecialchars_decode($description));
preg_match($pattern, $clean, $matches);