Здравствуйте!
Хочу сделать из такого вида URL, например:
- https://site/ecco/wall/comment-id_550134/
- https://site/bart/wall/comment-id_1901/
- https://site/common-12/wall/comment-id_76/
- https://site/best/wall/comment-id_823485/
В такой:
- [url=https://site/ecco/wall/comment-id_550134/]Заметка: 550134[/url]
- [url=https://site/bart/wall/comment-id_1901/]Заметка: 1901[/url]
- [url=https://site/common-12/wall/comment-id_76/]Заметка: 76[/url]
- [url=https://site/best/wall/comment-id_823485/]Заметка: 823485[/url]
Проверяю есть ли в тексте наличие URL (
https://site/bart/wall/comment-id_1901/), что не завернут в BBcode URL, так:
if (preg_match('~(?<!=)' . $this->path . '[0-9a-zA-Z]+\/wall\/comment-id_[0-9]+\/~is', $value))
{
$value = $this->note($value, $thing);
}
Если есть то, текст переходит в функцию note:
private function note($value, $thing = null)
{
preg_match_all('~(?<!=)' . $this->path . '[0-9a-zA-Z]+\/wall\/comment-id_([0-9]+)\/~is', $value, $ids);
$ids = array_unique($ids[1]);
foreach ($ids as $id)
{
$value = preg_replace('~(?<!=)' . $this->path . '([0-9a-zA-Z]+)\/wall\/comment-id_' . $id . '\/~is', '[url=' . $this->path . '$1/wall/comment-id_' . $id . '/]' . phpfox::getPhrase('pages.pages_comment') . ': ' . $id . '[/url]', $value);
}
}
Проблема в том, что после отправки формы с текстом, где есть такой url
https://site/common-12/wall/comment-id_76/ текст полностью удаляется... На экране нет записи...
Подскажите, где я допустил ошибку?
Спасибо.