Php: удалить все теги, но «href» в тексте

Вот моя проблема:

У меня есть текстовая область, где пользователь может ввести все, что он хочет.

Когда он отправляет этот текст (метод POST), на стороне сервера я не фильтрую еговообще перед записью в базу данных (потому что я хочу сохранить "нетронутыми" введенные пользователем данные (возможно, это можно использовать как доказательство того, что он пытался взломать или что-то в этом роде)).

Затем, перед выводом, я использую эту функцию:

public function textForWeb($texte,$br=true)
{
  if ($br) {
    return
      mb_ereg_replace("((\r)?\n)", "<br />",
        htmlentities(
          stripslashes($texte),
          ENT_QUOTES, 'UTF-8'
        )
      );
  }
  else {
    return
      htmlentities(
        stripslashes($texte),
        ENT_QUOTES, 'UTF-8'
      );
  }
}

Таким образом, текст правильно отфильтрован и остаетсяUTF-8 закодирован.

Но проблема в том, что я хотел бывсе эти тексты:<a href="http://url">xxx</a> быть нетронутым То есть когда я буду отображать его, ссылку (и только ссылки с "http://" а такженет JavaScript внутри) будет "кликабельным".

Например, вы можете увидеть, как это отображается сейчасВот, Видите последнюю строку объявления? Я бы хотел, чтобы ссылка на сайт была "кликабельной".

Как бы вы сделали?

Ответы на вопрос(2)

Ваш ответ на вопрос