вот это будет полезно почитать
http://web.archive.org/web/20120704104127/...c4447c8b5f7cab9
Цитата (skolozhabskiy @ 19.03.2013 - 21:45) |
не понял а каким образом вы получаете вывод новости с id = 55 - http://example.com/news/55 вывод новости с id 55 по вашему алгоритму я не понимаю как можно это сделать или там чего-то не хватает? |
Цитата (skolozhabskiy @ 19.03.2013 - 22:00) |
сейчас я могу получить данные 9/586 в $_GET['request'] и я могу их просто передать в функцию как параметры? |
Цитата (skolozhabskiy @ 19.03.2013 - 22:00) |
в этом есть логика, но как убрать из адресной строки символы которые я приводил как пример ранее, в адресной строке нет http://www.mydomain.com/9/586, а между параметрами еще масса символов |
Цитата (skolozhabskiy @ 19.03.2013 - 22:17) |
так в этом то и проблема как вывести такой вот url http://www.mydomain.com/9/586 вместо http://www.mydomain.com/?a%3A2%3A%7Bi%3A0%...201"%3B%7D |
echo 'http://www.mydomain.com/9/586';
<?php
/**
* Function of formation of GET-parametres
* Функция формирования GET-параметров
*/
function href()
{
global $GET; // Объявляем массив $GET, сформированный ранее, глобальным
$tmp = $GET; //Переписываем переменную, что бы не влиять на глобальный массив
$href = '';
$arg = func_get_args(); // Получаем массив аргументов переданных в функцию href(тут_вот)
if($arg[0] == 'host') // Это для того, что бы сделать ссылку без параметров
return IRB_HOST;
foreach($arg as $var) // Перебираем полученные аргументы
{
$param = explode('=', $var); // Разделяем имя переменной и значение (page=gallery, например)
// Если в массиве $GET ($tmp) есть ключ, полученный выше (в данном случае 'page')
if(array_key_exists($param[0], $tmp))
$tmp[$param[0]] = $param[1]; // То этому ключу присваиваем полученное значение
else
die('The variable <b>'. $param[0] .'</b> is not defined'); // Иначе...
}
$cnt = array_flip(array_keys($tmp)); // обрезаем те параметры, которые не передавались в аргумент
$tmp = array_slice($tmp, 0, $cnt[$param[0]] + 1);
foreach($tmp as $var => $val) // Теперь поочередно вставляем значения из $GET ($tmp) в ссылку
if(IRB_REWRITE == 'on')
$href .= '/'. $val; // Если реврайт включен, через слэш
elseif(!empty($val))
$href .= '&'. $var .'='. $val; // Если нет = обычные GET параметры
if(IRB_REWRITE == 'on')
return IRB_HOST . trim($href, '/');
else
return IRB_HOST .'?'. trim($href, '&');
}