помогите выбрать все url с вхождением переменной

Статус
В этой теме нельзя размещать новые ответы.

fafee

Постоялец
Регистрация
3 Окт 2008
Сообщения
92
Реакции
0
Добрый день,
есть ряд url в которое входит слово "blog" как их определить?
пробовал так, но чтото не то
PHP:
<?
$url =$_SERVER["SCRIPT_NAME"];
$url_1=str_replace("blog","",$url);
if ($url!=url_1) {
echo "true";
}
?>
cпасибо.
 
Странно, вроде должно работать.
Еще можно попробовать
Код:
// начиная с версии 5.0.0 доступен аргумент count
$url_1 = str_replace("blog", "", $url, $count);
if( $count!=0)
    echo "true";

или
Код:
$pos = strpos($url, "blog");
// Заметьте, что используется ===.  Использование == не даст верного 
if ($pos === false)
    echo "Строка 'blog' не найдена";
 
Добрый день,
есть ряд url в которое входит слово "blog" как их определить?
пробовал так, но чтото не то
PHP:
<?
$url =$_SERVER["SCRIPT_NAME"];
$url_1=str_replace("blog","",$url);
if ($url!=url_1) {
echo "true";
}
?>
cпасибо.
Если это точный листинг скрипта то ошибка в условии
if ($url!=url_1)
должно быть
if ($url!= $url_1)
И вообще проверку на наличие лучше делать через
substr_count или просто strpos
 
Странно, вроде должно работать.
Еще можно попробовать
Код:
// начиная с версии 5.0.0 доступен аргумент count
$url_1 = str_replace("blog", "", $url, $count);
if( $count!=0)
    echo "true";
да, то что надо, спасибо все работает.

Добавлено через 3 минуты
Если это точный листинг скрипта то ошибка в условии
if ($url!=url_1)
должно быть
if ($url!= $url_1)
И вообще проверку на наличие лучше делать через
substr_count или просто strpos
да, Вы правы, пропустил "$", попробую через strpos. Cпасибо.
 
PHP:
if(preg_match('/blog/i',$_SERVER['SCRIPT_NAME'])) echo 'true';

не?
 
еще можно при помощи explode разделить на части строчку, и проверить длину второго элемента массива. Но это так, извращение немного, но работать будет :)

Вообще лучше бы видеть как выглядит ваша ссылка
 
остановился на варианте
$pos = strpos($_SERVER["SCRIPT_NAME"], "blog");
if($pos === false) {убираем элементы не входящие в блог}
только мучает немного вопрос, если таких проверок несколько в пределах одной страницы, так как она по кускам собирается из хедера, футера и проч., насколько сильнее грузится проц. мелочи?..
 
остановился на варианте
$pos = strpos($_SERVER["SCRIPT_NAME"], "blog");
if($pos === false) {убираем элементы не входящие в блог}
только мучает немного вопрос, если таких проверок несколько в пределах одной страницы, так как она по кускам собирается из хедера, футера и проч., насколько сильнее грузится проц. мелочи?..
if (!strstr($_SERVER["SCRIPT_NAME"], 'blog')) работает быстрее, чем strpos (как ни странно). Можешь сам запустить цикл на 100 тыс. раз и замерить время в том и другом случае.
Но в твоей конкретной ситуации считай, что такая проверка ничего не весит и ничего не занимает. Так что смысла возиться и устанавливать где-то флаг, а потом во всех темплейтах проверять этот флаг, а не непосредственно еще раз искать строку - я не вижу. Экономия на спичках.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху