Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: разбор query_string
 
 автор: garold   (30.07.2010 в 03:17)   письмо автору
 
 

есть строка, в которой передается параметр test=<целое число>,например res=453&test=67&id=87&gh=g...итд
из этой строки мне нужно получить значение test и id. Соответственно каждое из этих значение могут находится в начале, середине или конце строки.

  Ответить  
 
 автор: garold   (30.07.2010 в 03:32)   письмо автору
 
   для: garold   (30.07.2010 в 03:17)
 

Пока не очень разбираюсь в регулярных, вот попробовал сам составить паттерн, правильно ли?
$pattern = "/^(.*)(test=[a-z0-9]*)(.*)?/";

  Ответить  
 
 автор: sim5   (30.07.2010 в 03:38)   письмо автору
 
   для: garold   (30.07.2010 в 03:17)
 

<?
$query 
'res=453&test=67&id=87&gh=g';
$query parse_str($query);
echo 
$test ', ' $id;

Что же вы сразу в рег. выражения то ударяетесь. Ну РНР для обслуживания HTML, ну такое разработчики уж точно продумают, написав для разбора функцию.

  Ответить  
 
 автор: garold   (30.07.2010 в 03:42)   письмо автору
 
   для: sim5   (30.07.2010 в 03:38)
 

Да уж, я совсем про нее забыл, про функцию данную....точно же..Спасибо!!!!

  Ответить  
 
 автор: sl1p   (03.08.2010 в 16:06)   письмо автору
 
   для: sim5   (30.07.2010 в 03:38)
 

А есть ли функция наоборот, вставки параметра в строку? Или если он уже существует в строке тогда просто присвоить ему значение?

  Ответить  
 
 автор: sim5   (05.08.2010 в 16:11)   письмо автору
 
   для: sl1p   (03.08.2010 в 16:06)
 

<?
$query 
'a=12&b=123&c=abcd&d=234&e=37';
parse_str($query$query);
echo 
'<pre>';
print_r($query);
//можно конечно и проверить
//array_key_exists('f', $query) ? ... : ... ;
//но какой смысл, коли в любом случае или добавлять, или изменять,
//то есть всегда нужно вставить известное значение,
//если я правильно понял, а значит просто: 
$query['f'] = 111;
echo 
'<pre>';
print_r($query);
$query http_build_query($query);
echo 
'<a href="http://as.com/?'.$query.'">GO</a>';

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования