Сценарий: Как известно, StackOverflow проверяет заголовок в вопросе. Я имею в виду, когда вы откроете этот URL:Как я могу проверить сообщение?
http://stackoverflow.com/questions/38839016/should-i-store-the-result-of-an-function
автоматически будет заменен следующим образом:
http://stackoverflow.com/questions/38839016/should-i-store-the-result-of-an-function-into-an-array
Это замена из-за того, чтобы быть неполными первый URL.
Хорошо, я пытаюсь создать такую систему с помощью PHP. Вот моя попытка:
// getting this from the URL
$id = '38839016';
// fetching this from database based on that id (38839016)
$real_title = $result['title'];
//=> Should I store the result of an function into an array
$real_title = str_replace("-"," ",strtolower($real_title));
//=> should-i-store-the-result-of-an-function-into-an-array
// getting whole uri
$current_uri = $_SERVER["REQUEST_URI"];
//=> /questions/38839016/should-i-store-the-result-of-an-function
Что я хочу сделать: Мне нужно сравнить $real_title
с заглавной части $current_uri
. Как я могу определить "title-part"? Это все, что после $id.'/'
до /
или ?
или $
(конец строки). Как я могу сделать это сравнение?
И потом:
if (preg_match("//", $current_uri)) {
// all fine. continue loading the page
continue;
} else {
// replace title-part of the $current_uri with $real_title
preg_replace("//", $real_title, $current_uri);
// redirect to this post with correct slug
header('Location: '.$_SERVER["HTTP_HOST"].);
}
кратко, я хочу закончить эти:
if (preg_match("//", $current_uri)) {
preg_replace("//", $real_title, $current_uri);
Это решение не выполняется, если есть некоторые передаваемые-параметры, как метод GET, как это: 'arg1 = value1 & арг2 = value2' –
@MartinAJ К сожалению, я добавил этот ответ, потому что вы добавляете StackOverflow пример – Mostafa
Вы хотите исправить только слизень в URL-адресе без изменения какого-либо другого синтаксиса в URL-адресе? – Mostafa