| |
|
|
| | Здравствуйте уважаемые форумчане и форумчанки) помогите с вопросиком!
Как из этой строки
var1=value1&var2=value2&var3=value3
|
получить value1? строка может иметь вид var1=value1 или var1=value1& и т.д
можно ли сделать это без использования функции parse_url | |
| |
|
|
| |
|
|
| |
для: lelick
(17.09.2007 в 22:40)
| | | parse_url здесь не поможет. Она сама выдаст такую строку.
$arr= explode('&', $str);
foreach($arr as $piece)
{
$piece = explode('=', $piece, 2);
if($piece[0] == 'var1')
{
$res = rawurldecode($piece[1]);
echo htmlspecialchars($res);
}
}
|
| |
| |
|
|
| |
|
|
| |
для: Trianon
(17.09.2007 в 22:48)
| | | дело в том что этого '&' символа там может и не быть
спасибо уже сделал с помощью регулярных выражений! | |
| |
|
|
| |
|
|
| |
для: lelick
(17.09.2007 в 22:55)
| | | >дело в том что этого '&' символа там может и не быть
Конечно. Если параметр всего один, или вообще отсутствует. .
>спасибо уже сделал с помощью регулярных выражений!
Очень сомневаюсь, что результат правильный. | |
| |
|
|
| |
|
|
| |
для: Trianon
(17.09.2007 в 23:07)
| | | Я бы так поступил:
<?
//
parse_str('var1=value1&var2=value2&var3=value3');
echo $var1;
//
?>
|
=) | |
| |
|
|
| |
|
|
| |
для: ProtoTeeP
(18.09.2007 в 01:38)
| | | и потеряли бы контроль над текущим контекстом.
тогда уж parse_str("....", $res); | |
| |
|
|
| |
|
|
| |
для: Trianon
(18.09.2007 в 10:10)
| | | >и потеряли бы контроль над текущим контекстом.
--- как это понять?
если я не ошибаюсь, все переменные примут свое значение.,
да и задача стояла только одну перменную показать... =)
>
>тогда уж parse_str("....", $res); | |
| |
|
|
| |
|
|
| |
для: Trianon
(17.09.2007 в 23:07)
| | | >Очень сомневаюсь, что результат правильный.
если я уточнил бы вопрос вы бы не сомневались ;) /*надо учится задавать вопросы*/
$query = parse_url($_SERVER['HTTP_REFERER']);
preg_match('#^var1=([0-9]+)#', $query['query'], $matches);
print $matches[1]
|
| |
| |
|
|
| |
|
|
| |
для: lelick
(17.09.2007 в 22:40)
| | | у меня тоже вопрос по этой теме, раз тема подобная есть, не буду новую создавать...
делаю граббер, и обнаружил, что
$_SERVER['QUERY_STRING'] - не читает после #
и как бы я не пытался вставить # , парсировать подобные страницы у меня не получается....
# - здесь идет не как якорь, а как разделитель.
т.е. после него идет какое -то значение...
и видать стоит проверка на наличие проверочного слова...
можно ли с этим бороться? | |
| |
|
|
| |
|
|
| |
для: ProtoTeeP
(18.09.2007 в 10:37)
| | | Надо URL-кодировать "#". | |
| |
|
|
| |
|
|
| |
для: Unkind
(18.09.2007 в 10:46)
| | | я пытался... эфекта 0...
даже вручную переводил
# -> %23 | |
| |
|
|
| |
|
|
| |
для: ProtoTeeP
(18.09.2007 в 10:50)
| | | используйте другой символ =) | |
| |
|
|
| |
|
|
| |
для: neudor
(18.09.2007 в 11:50)
| | | какой? | |
| |
|
|
| |
|
|
| |
для: ProtoTeeP
(18.09.2007 в 17:14)
| | | Какой-нибудь редко используемый в URI, например | | |
| |
|
|
| |
|
|
| |
для: Gemorroj
(18.09.2007 в 19:03)
| | | нет. Вы меня не поняли, я делаю граб.
т.е. сделал. он граббит, но не все страницы.
он не хочет переходить на страницы URL которого содержит #
например, http://site.ru/index.php?id=5#video
он граббит http://site.ru/index.php?id=5,
т.е. вырезает #video , а на той странице видать стоит проверка на наличеие #video | |
| |
|
|
| |
|
|
| |
для: ProtoTeeP
(18.09.2007 в 19:20)
| | | Это никакой не разделитель. На сервер это не отправляется.
"#video" нужно исключительно для Вашего браузера. | |
| |
|
|
| |
|
|
| |
для: ProtoTeeP
(18.09.2007 в 19:20)
| | | >http://site.ru/index.php?id=5#video
#video - это действительно не якорь и тем более не разделитель, а анкер на странице, являющийся ссылкой на месте в странице, а именно: <a name="video"></a>. При наличие этого анкера, браузер сделает прокрутку документа (если потребуется), установив участок документа с этим именем первой строкой. | |
| |
|
|
| |
|
|
| |
для: sim5
(19.09.2007 в 10:02)
| | | Ну вроде бы он зовется якорем, а анкер это просто элемент А (любой, в смысле. с href и без него).
Точно не помню, но вроде так.. | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(19.09.2007 в 12:50)
| | | анкер и якорь это одно и тоже на разных языках | |
| |
|
|
| |
|
|
| |
для: sim5
(19.09.2007 в 10:02)
| | | а разве в wml - разметке есть подобная функция? | |
| |
|
|
| |
|
|
| |
для: ProtoTeeP
(19.09.2007 в 23:12)
| | | В WML это имя карты. | |
| |
|
|