Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Извлеч кей из url
цитата
24/10/08 в 14:07
 Deor Molen
Имеем http://site.com/teen_video.html and http://site.com?key=teen_video

Как извлеч из подобных урл кеи?
цитата
24/10/08 в 14:20
 -=Faraon=-
Код:
<?
$file=file_get_contents('listurl.txt');
preg_match_all("/\?key=(.+)?/i",$file,$o);
print_r($o[1]);
?>
цитата
24/10/08 в 14:32
 kodek
Не очень понятно, что имеется в виду.
Извлечь откуда, из файла? Или из пути на сервере?
цитата
24/10/08 в 14:57
 JM
Да пох в пример выше вставляешь чего надо и понеслось ;)
2Фараон объясни что с собой сделать чтоб начать в регэкспе хоть что то понимать? ;)
цитата
24/10/08 в 14:59
 TRUE_AND_FALSE
Код:
<?php

$file="http://site.com?key=teen_video";
preg_match_all("/\?key=(.+)?/i",$file,$o);
$bodytag = str_replace("_", " ", $o[1][0]);
print_r($bodytag);


?>
цитата
24/10/08 в 15:15
 Deor Molen
Код:
$file="http://site.com/teen_video.html";
preg_match_all("/\.(.+)?/i",$file,$o);
preg_match_all("/\/(.+)?/i",$o[1][0],$o);
$key = str_replace("_", " ", $o[1][0]);
$key = str_replace(".html", " ", $key);
print_r($key);


Как то упростить код можно? icon_smile.gif
цитата
24/10/08 в 15:17
 localhost
parse_url()
цитата
24/10/08 в 15:21
 asgor


smail54.gif
цитата
24/10/08 в 22:15
 Jоhn
JM писал:
Да пох в пример выше вставляешь чего надо и понеслось ;)
2Фараон объясни что с собой сделать чтоб начать в регэкспе хоть что то понимать? ;)

начать на конец писать их icon_wink.gif
цитата
24/10/08 в 23:42
 Formator
Deor Molen писал:
Код:
$file="http://site.com/teen_video.html";
preg_match_all("/\.(.+)?/i",$file,$o);
preg_match_all("/\/(.+)?/i",$o[1][0],$o);
$key = str_replace("_", " ", $o[1][0]);
$key = str_replace(".html", " ", $key);
print_r($key);


Как то упростить код можно? icon_smile.gif


Можно не упрощать, а сделать так:
Код:

$url="http://site.com/teen_video.html";
preg_match ("~\.(com|net|org|biz)/(\?key=|)(.+)(\.html|$)~U", $url, $key);
$key=str_replace("_"," ",$key[3]);

Универсальный способ, конвертит оба варианта.
цитата
25/10/08 в 01:37
 localhost
что ж вы все любите извращаться с регэкспами-то...
проще надо быть, проще :)
Код:

$u=parse_url($url);
if (strpos($u['path'],".html")!==false) $key=str_replace(array("/",".html"),'',$u['path']);
elseif(strpos($u['query'],"key=")!==false) $key=str_replace("key=",'',$u['query']);
else echo "а хуй его знает...\n";


под оба варианта
цитата
25/10/08 в 08:42
 _s_[sov]
ну бля и нагородили та, всего то нада было foreach прикрутить к скрипту -=Faraon=- ну и если нужно стринг_реплейс как у TRUE_AND_FALSE
цитата
25/10/08 в 09:49
 skadmin
localhost, +1
На какой фиг регулярки тут пользовать если специальная функция есть, которая еще и отработает быстрее icon_biggrin.gif
цитата
25/10/08 в 10:09
 Lamagro
skadmin писал:
localhost, +1
На какой фиг регулярки тут пользовать если специальная функция есть, которая еще и отработает быстрее icon_biggrin.gif
парсе не всегда хорошо работает в отличии от правильно составленной регулярки
цитата
25/10/08 в 10:44
 _s_[sov]
ни одна строковая функция не имеет такой гибкости как регексы. пусть они работают дольше (на 1мс что несущественно) зато возможностей акиан.
цитата
25/10/08 в 11:51
 freeek
Оффтопик: JM писал:
Да пох в пример выше вставляешь чего надо и понеслось ;)
2Фараон объясни что с собой сделать чтоб начать в регэкспе хоть что то понимать? ;)


для начала вдумчиво перечитать
http://phpclub.ru/detail/article/simple_regular
http://phpclub.ru/detail/article/regexp_1
http://phpclub.ru/detail/article/regexp_2

особенно обратить внимание на
http://www.citforum.ru/internet/perl_tut/re.shtml
цитата
25/10/08 в 19:57
 TRUE_AND_FALSE
freeek: smail54.gif

Много нового узнал!
цитата
26/10/08 в 10:22
 Lamagro
2freek +1
действительно прикольные статейки
цитата
02/11/08 в 19:25
 TRUE_AND_FALSE
_s_[sov]: Парсе бывает нужен если парсить урл с папками. Код проще выходит.


Эта страница в полной версии