| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Поиск битых ссылок |
| Автор: feosr 12.6.2008, 15:56 |
| Как бы задача в следующем: из таблицы pfx_temp_pages выводится контент. Навигация по статьям проихходит по заголовку статьи (по принцыпу WIKI систем). Требуется проверка ссылок на странице. Например если ссылка ведет на статью которой нету, то к ссылке добавляется act=edit скажем. Вопрос, как это сделать?? у меня уже есть наработка, но оно как бы сказать.. незнаю... я беру из базы статью, затем получаю собственно желаемый текст где все ссылки на статьи внутри сайта вида [[Статья]]. Затем припомощи цикла и preg_match я получаю заголовок страницы из базы (тобиш получается второй запрос + фетч_акос) и затем проверяю на предмет есть ли ссылка на такую статью... но этот способ мне кажется нелогичным... может кто подскажет как лучше сделать? |
| Автор: Pokoinik 12.6.2008, 17:51 |
| feosr, а зачем это делать? может будет проще, при открытии статьи, которой нету, сразу открывать контрол добавления статьи, а не насиловать сервер обработкой больших объемов данных при просмотре каждой статьи? |
| Автор: feosr 12.6.2008, 18:07 |
| Собственно это просто прихоть)) понравилось реализация в MediaWIKI и просто для собственного рзвития сделать нечто подобное)) p.s. В медиавики непонятная реализация какая-то |
| Автор: krundetz 12.6.2008, 21:37 |
| Может лучше организовать так есть база таблица сушествующих ссылок при переходе по ней происходит запрос к ней чтобы выдать контент если его нет то страница создается автоматически и предлагается её заполнит. Если понравилась реализация в WediaWiki может стоит посмотреть как это сделано там, припятствий ведь ни каких нет. |
| Автор: feosr 21.8.2008, 22:44 | ||||||
У меня вопрос, почему неработает??
Как результат выводит это:
Я так понял что в функцию in_array эта переменная неидет так как если выводить ее чезер echo то выводиться \1 Если кто может помочь.... Массив для проверки вот такой:
|
| Автор: Sannis 21.8.2008, 23:00 |
| Прочитайте в мане по preg_peplace про модификатор "e". А в приведённом вам виде код имхо не должен работать. Добавлено через 1 минуту и 17 секунд Т.е. он-то работает, только посмотрите внимательно на вызов preg_peplace и попробуйте выступить в роли интерпретатора. |
| Автор: feosr 22.8.2008, 07:59 | ||
Огромное спасибо)
|