|
|
|
| Нужно регулярное выражение описывающие все URL адресы за исключением тех что заканчиваются на .css .jpg .jpeg .png .gif
Выручьте плз Срочно нужно | |
|
|
|
|
|
|
|
для: Grizzli
(31.12.2006 в 05:54)
| | URL-адреса включают GET-параметры или нет? | |
|
|
|
|
|
|
|
для: cheops
(31.12.2006 в 13:19)
| | А по-моему без разницы. Надо взять часть имени файла до первого знака вопрса а потом уже проверять рег. выражением | |
|
|
|
|
|
|
|
для: Grizzli
(31.12.2006 в 05:54)
| | Причём тут регулярные выражения?
<?
$link = 'http://www.example.com/dir1/dir2/file.css?get1=ddf&dds=13';
$parsed_url = parse_url($link);
$path = pathinfo($parsed_url['path']);
$array = array("css", "jpg", "jpeg", "png", "gif");
if ( in_array($path['extension'], $array) ) {
print "Расширение ".$parsed_path['extension']." присутствует в массиве.";
}
|
| |
|
|
|
|
|
|
|
для: /|\';..;'/|\
(02.01.2007 в 01:58)
| | Так то я знаю, я Ужасно извеняюсь что не написал, но все ето нужно именно одним рег выражением сделать т.к. мне в .htaccess и нужно чтобы если ето не картинка или css он отдавал одну и туже страницу, ну или хотя бы на все запросы без файла или с .html в конце файла. Я тут наваял кое что:
Action throw /index.php
<FilesMatch "([^/]+\.html|\/)(\?[^/]*)?$">
ForceType throw
</FilesMatch>
<FilesMatch index.php>
ForceType application/x-httpd-php
</FilesMatch>
|
Прогонял регулярку через RegexBuddy, он нормально ищет по Этому регулярному выражению, а Apache необрабатывает страницы с вложенными папками
http://taram.ru/index.html работает
http://taram.ru/mmm/index.tml не работает | |
|
|
|
|
|
|
|
для: Grizzli
(04.01.2007 в 23:56)
| | А Апач какой?
потому что, если не ошибаюсь, то 1 - POSIX, а 2 - PCRE.
Если в PCRE, то проще
$pattern='#\.gif$|\.jpe?g$|\.css$|\.png$#';
|
этот шаблон описывает все строки заканчивающиеся .css, .gif, jpeg, .jpg, .png и есди надо, то добавьте свои.
Если надо можно просто к нему построить отрицание.
Оно или нет? | |
|
|
|