Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - kosm

Страницы: 1 ... 4 5 [6] 7 8
76
PHP / Как в регекспе указать НЕ?
« : 05 Июня 2003, 19:04:16 »
Это как? Одним регекспом похоже не получится. Дело в том, что мне урл с NULL как раз грохать не надо, а надо оставить без изменения (а со всеми остальными работать).

77
RomikChef
Сори, уже убрал регистрацию... :)
Действительно, она там совершенно не нужна...

78
Ура, нашел-таки!
Выложил к себе на сайт mksoft.km.ru. Если кому интересно - забирайте в разделе файлы

79
PHP / Как в регекспе указать НЕ?
« : 05 Июня 2003, 10:45:18 »
Neter
Сразу попробовал такую конструкцию, но она не прокатила. Наверно потому, что [] - это символьный класс, и группировка тут не катит...

80
Книга в бумажном виде у меня есть, но способ подачи материала у нее таков, что как справочник ее или для поиска чего либо, использовать крайне неудобно. Если просто читать, вникать, то книга хорошая, ничего не скажу. Поэтому и ищу в эл.виде для того, чтобы проще было искать что-либо, да и в дороге удобнее на пдашке ее иметь...

Макс
На андгийском нашел, но хотелось бы на родном :) Так оно проще, ведь вещи и так не особо тривиальные...

81
Где бы найти сабж в электронном виде на русском языке?
Мож кто где-нить встречал?

83
Alexandr
Логично :) Спасибо! Эт я по старинке... ;)

84
PHP / Помогите плиз составить RegExp
« : 29 Мая 2003, 15:28:07 »
D1g174LM4n14c
В прямом смысле понятно. Только вот если я не знаю текста заголовка?

85
PHP / Помогите плиз составить RegExp
« : 29 Мая 2003, 14:35:20 »
Никак не могу разобраться, как с помощью регекспа выделить текст от начала до N-го петтерна?
Т.е. к примеру есть такой текст:
--
тут какой-то текст
  • Заголовок 1

  • Еще текст
  • Заголовок 2

  • И еще текст
  • Заголовок 3

  • И тд

    Так вот как бы составить регексп так, чтобы выделить текст от начала, до начала 2-го заголовка? До первого (ограничивая жадность) или последнего могу:
    (^.*?(
  • ))
    А вот как бы до конкретного? :(
    Или это уже делается средствами php?

  • 86
    С pathinfo понял - спасибо. Не обратил внимания что именно путь. Сорри.
    Цитировать
    Alexandr:
    Для решения проблемы юзай parse_url + pathinfo

    Во, это действительно спасло. Теперь все работает.

    function GetPath($url)
    {
    	
    $tmp parse_url($url);
    	
    $host $tmp["scheme"] ."://"$tmp["host"];
    	
    $path $tmp["path"];
    	
    if (
    substr($path,strlen($path)-1,1) != \'/\') {
    	
    	
    $path = $path."/";
    	
    }
    	
    Return  $host.$path;
    }

    87
    Mаster
    Цитировать

    И что. Вот так незя сделать?

    $url = "http://abracodabra.ru/path/to/page/index.php";
    echo dirname($url);
    ?>


    В этом случае прокатит. А вот если
    $url = "http://abracodabra.ru/path/to/page";
    то не прокатит - получим: "http://abracodabra.ru/path/to", что для моего случая не приемлемо :(

    Со вторым примером не совсем понял, но у меня в любом случае имеется только полный урл (без разделения на url и path)...

    Кстати, нашел почему у меня ломался двойной слэш в моей ф-ции.
    Оказывается так работает ф-ция pathinfo(), если ей передать короткий урл (без вложений папок и имен файлов).
    К примеру так:

    $url 
    "http://test.ru/";  // вроде нормальный урл
    $tmp pathinfo($url);
    print_r($tmp);  

    Получаем:
    Array ( [dirname] => http: [basename] => test.ru [extension] => ru/ )

    Не плохо он урл разложил, да? :) Чем он ему не понравился... ?

    88
    Mаster
    Да, интересный выход, но опять же мне не подойдет, т.к. я еще не на той странице, а только собираюсь туда пойти. УРЛ берется у меня из href...

    Oak
    Эт понятно. Но в моем случае нужно считать, что если нет расширения в конце урла, то это просто каталог, а если есть, то надо имя с расширением отсечь.

    D1g174LM4n14c
    Понятно. Но basename() не работает по класической схеме, т.е. смотрит на наличие слэша в конце урла, и опять же он решит, что "test" (из моего примера выше) - это файл, и выкусит его. :(

    Кстати, интересно, вчера ф-ция, которую я выше описал - работала. А сегодня уже нет :) Странно как-то :)
    Почему-то урл: http://www.host.ru/test
    превращает в: http:/www.host.ru/test/ (двойной слэш портит).
    Странно все это...

    89
    Макс
    Я думаю - наличием расширения. Хотя файл без расширения тоже может быть, но тогда это точно никак не узнать...
    Поэтому я состряпал ф-цию:

    function GetPath($url)
    {
    	
    $tmp pathinfo($url);
    	
    $ext $tmp["extension"];
    	

    	
    if (
    strpos($ext"/") > 0) {
    	
    	
    Return 
    $tmp["dirname"]."/".$tmp["basename"]."/";
    	
    }
    	
    else {
    	
    	
    Return 
    $tmp["dirname"]."/";
    	
    }
    }


    Вроде работает. Можно было бы наверно и по-красивше...

    D1g174LM4n14c
    Не совсем понял как все это работает, и работает ли вообще... У меня во всяком случае не прокатило :(

    90
    Никак не могу получить путь без имени файла. Пробовал использовать dirname(), но работает она не совсе так, как надо (в некоторых случаях). К примеру:

    Есть путь: http://www.host.ru/test/index.php
    В этом случае ф-ция сработает правильно, т.е. вернет "http://www.host.ru/test/".

    Теперь такой: http://www.host.ru/test/
    И опять ф-ция сработает правильно.

    А вот если путь будет такой: http://www.host.ru/test
    т.е. без завершающего слэша, то ф-ция вернет "http://www.host.ru/"

    Как мне сделать так, чтобы я смог во всех этих трех случаях получить путь "http://www.host.ru/test"?

    СПАСИБО!

    Страницы: 1 ... 4 5 [6] 7 8