Как правильно написать регулярное выражение?

Здравствуйте!
Суть проблемы вот в чем, необходимо аналогично тестеру подсвечивать код, но я столкнулся с проблемой если будет код в коде то-есть
<code lang="php">
<code lang="ruby">
<code lang="sql">

</code>
</code>
</code>


то он заменит все что внутри. На тостере этот вопрос решен, и мне хотелось бы разобраться =)

Сам код
$message = preg_replace_callback(
    '~<code\s*lang="(.+)">(.+)<\/code>\/~isU',
    function($v) {
        return '<pre><code class="'.$v[1].'">'.e($v[2]).'
';
},
$this->message);

ОЙ! тут тоже ломается =) тогда подскажите мне и тостеру..

вот что получается у меня oiiHl.png
  • Вопрос задан
  • 217 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы