23.11.2009, 19:39 | #1 |
Специалист
Регистрация: 23.05.2007
Сообщений: 310
Вес репутации: 213
|
Что не так в preg_replace??
Столкнулся с таким вопросом есть в БД ссылки вида
/index.php?name=gallery /index.php?name=news и тд нужно заменить на вид gallery.html news.html и тд делаю так $row['url'] = preg_replace('/index\.php\?name=([a-z_-])/', "\\1.html" , $row['url']); на выходе почему то получаю такой вид g.htmlallery n.htmlews где ошибка???? |
23.11.2009, 19:40 | #2 |
Хитрый жук
Регистрация: 05.12.2007
Адрес: Конаково
Сообщений: 2,987
Вес репутации: 389
|
$row['url'] = preg_replace('/index\.php\?name=([a-z_-])+/', "\\1.html" , $row['url']);
__________________
|
23.11.2009, 19:47 | #5 |
JS Developer
|
$row['url'] = preg_replace('/index\.php\?name=([a-z_-]+)/', "\\1.html" , $row['url']);
Добавлено через 38 секунд Опередили) Последний раз редактировалось Regent; 23.11.2009 в 19:47. Причина: Добавлено сообщение |
23.11.2009, 20:20 | #6 |
Специалист
Регистрация: 23.05.2007
Сообщений: 310
Вес репутации: 213
|
Спасибо..
Добавлено через 28 минут Возник ещё вопрос как обозначть переменой корень сайта к примеру счас так $PATH = "./"; require $PATH."site/include/functions.php"; все нормально но если для страницы с адресом /index.php?name=news&op=show но если с помощью ЧПУ изменить адрес на /news/show/ то перемена $PATH указывает путь не от корня а от папки /news/show/ Вот вопрос как обозначит $PATH что бы из любого адреса вложенности путь был от корня сайта?? Последний раз редактировалось avgaz; 23.11.2009 в 20:20. Причина: Добавлено сообщение |
23.11.2009, 21:50 | #9 |
Эксперт
Регистрация: 27.03.2009
Сообщений: 1,239
Вес репутации: 235
|
Корень сайта - это всегда "/".
Все урлы, и в том числе картиночные, должны плясать именно от этого. А путь к служебным файлам - это не урл. Это именно внутренние каталоги на сервере. То есть, урл и путь к служебным файлам - это разные вещи. Поэтому для доступа к файлам при помощи разных там реквайров используй $_SERVER['DOCUMENT_ROOT']. А для формирования урлов используй "/". |
24.11.2009, 17:00 | #10 | |
Специалист
Регистрация: 23.05.2007
Сообщений: 310
Вес репутации: 213
|
Цитата:
Я наверно плохо изъяснился е примеру есть файл index.php через него подключаются модули в cms и урлы имеют вид. http://testcms/index.php?nema=news&op=news_show я делаю ЧПУ заменяю урл на http://testcms/news/news_show то все весь шаблон в сайте с ежает не отображаются картинки и css и тд т.к они пытаются открытся относительно каталога news_show а должны с корня если же сделать ЧПУ такого вида http://testcms-news-news_show.html то все нормально вот мне и нужно переменую $PATH = "./"; которая в index.php сделать универсальной |
|
Опции темы | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
PHP. Прошу помочь с preg_replace... | MonAmur | Разработка и сопровождение сайтов | 2 | 09.10.2009 17:24 |
Часовой пояс GMT +3, время: 15:34.