[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как по слову в URL сделать условие?
Sergen
Доброго времени суток. Такая задумка. На сайте все урлы выводятся в человеко понятном виде. Как из такого урла "выхватить" слово в условие?
Например, есть урл: http://mysite.ru/my-auto.html Так вот, нужно чтобы в условии, если есть слово auto в урле, вывелось там чего-то...



Спустя 2 часа, 3 минуты, 28 секунд (3.09.2011 - 21:20) johniek_comp написал(а):
http://php.su/functions/?parse-url

<?
preg_match_all('/href="my-auto.html/',$html,$matches);
var_dump($matches);
?>

Спустя 14 часов, 34 минуты, 10 секунд (4.09.2011 - 11:55) Sergen написал(а):
Цитата (johniek_comp @ 3.09.2011 - 18:20)
http://php.su/functions/?parse-url

<?
preg_match_all('/href="my-auto.html/',$html,$matches);
var_dump($matches);
?>

В общем-то работает, выглядит достаточно просто, но...Посмотрел, больно мудренная функция, думал будет с использованием if, так нужна проверка не по одному слову.Не совсем понял, зачем здесь массивы?

Спустя 2 часа, 51 минута, 1 секунда (4.09.2011 - 14:46) Evilsoul написал(а):
так есть, все просто :)

$url = 'http://mysite.ru/my-auto.html';

if(strstr($url, 'auto'))
echo 'YES';
else
echo 'NO';

Спустя 3 дня, 5 часов, 27 минут, 45 секунд (7.09.2011 - 20:13) Sergen написал(а):
так есть, все просто :)

$url = 'http://mysite.ru/my-auto.html';

if(strstr($url, 'auto'))
echo 'YES';
else
echo 'NO';

Спасибо, но не то. Есть условия, чтобы проверить наличие определенных слов в урле. Этих урлов может с десятка два, слов столько же или больше.

Спустя 43 минуты, 47 секунд (7.09.2011 - 20:57) Evilsoul написал(а):
function words($data)
{
$url = 'http://mysite.ru/my-auto.html';

if(strstr($url, $data))
return 'YES';
else
return
'NO';
}

$words = array('auto', 'my', 'site', 'html', 'not me'); // и так далее

$arr = array_map('words', $words);

echo 'Example #1: <hr>';
print_r($arr);

$url = 'http://mysite.ru/my-auto.html';

echo '<br /><br />Example #2: <br /><hr>';
foreach($words as $val)
{
if(strstr($url, $val))
echo $val.' -> YES<br />';
else
echo $val.' -> NO<br />';
}
exit;

Спустя 2 часа, 34 минуты, 37 секунд (7.09.2011 - 23:32) Sergen написал(а):
Evilsoul спасибо большое, но это не то...У вас проверка урла по куче слов (я его не проверял на работоспособность, но не вижу некоторых переменных, но не это главное)
Я наверное неверно изложил вопрос. wink.gif Есть модуль, в зависимости от страницы он должен выхватывать чего-там из базы, и чего-то там показывать. Вот я и думал проверять урлы по определенным словам. Был бы динамический, наверное можно сделать через GET, но вот как выхватить человекопонятный и сделать по нему проверку?

Спустя 16 минут, 22 секунды (7.09.2011 - 23:48) Игорь_Vasinsky написал(а):
а не проще написать роутер на switch - case и работать по нужному GET?

Спустя 20 часов, 13 минут, 12 секунд (8.09.2011 - 20:01) Sergen написал(а):
Цитата
а не проще написать роутер на switch - case и работать по нужному GET?

Дык, я представляю как это сделать и с помощью switch - case и с помощью GET, вот только я это представляю для динамического урла, а вот как для человеко понятного ни как...

Спустя 9 минут, 31 секунда (8.09.2011 - 20:11) alex12060 написал(а):
Sergen

Опиши подробней, что надо то?

Цитата
если есть слово auto в урле, вывелось там чего-то...


х)
Это не описание)
Желательно, прикрепить сюда .htaccess файл, и объяснить, что и как и где у тебя хранится.

Спустя 4 минуты, 11 секунд (8.09.2011 - 20:15) Игорь_Vasinsky написал(а):
Цитата
для динамического урла, а вот как для человеко понятного ни как...

А кто те сказал что при ЧПУ нет GET???

впиши код в странице с чпу

echo "<pre>";
print_r($_GET);
echo "</pre>";



Спустя 5 часов, 3 минуты, 23 секунды (9.09.2011 - 01:18) Sergen написал(а):
Цитата
echo "<pre>";
print_r($_GET);
echo "</pre>";

Да понятно- вывелся массив, ключи, значения....как и положено для динамичного урла, который "заменил" ЧПУшный...

Просто я думал, может есть какая-нибудь функция, которая "как-бы считывала" человекопонятный урл и ну там можно было дальше устроить проверку его по словам.

Судя по всему, путь только через динамический, через GET...Конечно это блин, усложняет все... blink.gif

Спустя 8 минут, 30 секунд (9.09.2011 - 01:27) Игорь_Vasinsky написал(а):
Цитата
удя по всему, путь только через динамический, через GET...Конечно это блин, усложняет все...


наоборот - это всё упрощает :D

либо ты не понял ко чём я.

Почитай про роутер на ирбисе.

Пускай у тя даже 10 GET запросов, для все можно отстроить роутер, можно даже вложенность в switch - case использовать.

Цитата
Просто я думал, может есть какая-нибудь функция


parse_url()



Спустя 20 часов, 7 минут, 18 секунд (9.09.2011 - 21:34) Sergen написал(а):
Цитата
parse_url()

Игорь, я посмотрел эту функцию, но она опять же не выхватывает урл как это делает get. Остаются только одно, делать через get и с помощью switch или if. А для меня действительно сложнее. Сложнее в том смысле, что рутины масса, нужно будет определенный ключ-значение проверять на соответствие определенной странице

Спустя 12 минут, 4 секунды (9.09.2011 - 21:46) Sergen написал(а):
Цитата
Sergen

Опиши подробней, что надо то?


В джумле есть один компонент, при помощи которого можно вывести например модуль по определенному слову в урле. Т.е. встречается среди 300-х урлов слово mandarin 5 раз (my-site/mandarin.html; my-site/big-mandarin.html и т.д.), значит этот модуль и появится на сайте 5 раз. Нечто подобное мне и нужно было
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.