ereg_replace или чем его заменить?

Corvin

Новичок
ereg_replace или чем его заменить?

В базе данных идет текст, в котором встречается символ #1 (или #2, #3..) - бла бла бла - и символ "|", при выдаче, мне надо менять эту комбинацию на линк типа <a href='web.php?sub=1 (sub=2,3...)'> бла бла бла </a>.

Как это можно сделать одним запросом? У меня был вариант с ereg_replace, но тогда текст нужно пропускать через него 3 раза, если учитывать что тексты большие, это все будет немеренно тормозить. Помогите, как можно все это упростить?

Может как-то по другому можно встраивать линки?
 

DiMA

php.spb.ru
Команда форума
preg_replace("!#([0-9]+)!","<a href=?num=\\1>",$text)

будет работать менее 0.01 сек
 

Corvin

Новичок
preg_replace("!#([0-9]+)!","<a href=?num=\\1>",$text)

В том то и дело что во первых num должен быть равен именно той цифре, которая стоит после #, и во вторых надо все-таки закрыть линк как то (</a>). Вот и получается вызов preg_replace необходим 3 раза, что меня совсем не устраивает...
 

DiMA

php.spb.ru
Команда форума
да что за бред. Я написал пример, а ты так и не понял.

- цифра будет нужная
- тег закрывай сам

Если бы написал не кашу из слов, а точное описание задачи, я бы тоже написал рег. А так пиши сам.

И не спорь, что нужно более 1 рега.
 

Corvin

Новичок
Спасибо, действительно работает, правда не понял почему :))))
 
Сверху