Делаю так
preg_match_all('#<pre>< code class="language-markup">(.*)</ code></pre>#',$_POST['text'],$matches);
(пробелы в тег code пришлось вставить специально, чтобы парсер Тостера не ломал код)
В результате массив с двумя пустыми элементами
Внутри тегов pre code содержится html-код, его надо достать и сделать htmlspecialchars.