Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как вывести результат до символа?
Форумы портала PHP.SU » PHP » Регулярные выражения » Как вывести результат до символа?

Страниц (1): [1]
 

1. mvc - 09 Мая, 2014 - 16:38:53 - перейти к сообщению
Добрый день, имеется ссылка типа test.ru/info?r=data%2oppo%2
Нужно достать текст который идет после равно. Но дело в том что ссылка может принимать вид и такой:
test.ru/info?r=data
test.ru/info?r=datadata%2oppo
(Добавление)
Пробовал разными способами один из них (?=%2)
Но нечего не срабатывает...
2. IGORtrue - 09 Мая, 2014 - 16:49:45 - перейти к сообщению
$_POST['r']
$_GET['r']
3. Строитель - 09 Мая, 2014 - 16:50:30 - перейти к сообщению
mvc пишет:
Добрый день, имеется ссылка типа test.ru/info?r=data%2oppo%2
Нужно достать текст который идет после равно. Но дело в том что ссылка может принимать вид и такой:
test.ru/info?r=data
test.ru/info?r=datadata%2oppo
(Добавление)
Пробовал разными способами один из них (?=%2)
Но нечего не срабатывает...


А почему не разобрать ссылку циклом и получить необходимые значения переменных без использования регулярных выражений? Например

PHP:
скопировать код в буфер обмена
  1. if ($_SERVER['QUERY_STRING']){ //Фильтруем адресную строку
  2.     foreach($_GET as  $value){
  3.         echo $value; //достать текст который идет после равно
  4.         }
  5.     }
  6.  
4. mvc - 09 Мая, 2014 - 17:28:58 - перейти к сообщению
Потому что это текст в переменной а не ссылка.
5. IllusionMH - 09 Мая, 2014 - 18:21:12 - перейти к сообщению
mvc, смотрели в сторону parse_url и parse_string?
6. Строитель - 09 Мая, 2014 - 19:57:13 - перейти к сообщению
mvc пишет:
Потому что это текст в переменной а не ссылка.


Так а что Вам надо получить из строки? Разве не текст? А если нужна ссылка, то обработайте полученные из цикла данные.
7. mvc - 09 Мая, 2014 - 20:38:41 - перейти к сообщению
Строитель Вы вообще понимаете что такое строка в переменной, хорошо я поясню.
Есть переменная с текстом $str = 'test.ru/info?r=data%2oppo%2';
Ее нужно разобрать регуляркой.
8. Строитель - 09 Мая, 2014 - 21:08:52 - перейти к сообщению
mvc пишет:
Строитель Вы вообще понимаете что такое строка в переменной, хорошо я поясню.
Есть переменная с текстом $str = 'test.ru/info?r=data%2oppo%2';
Ее нужно разобрать регуляркой.


Я прекрасно понимаю написанное
Цитата:
имеется ссылка типа test.ru/info?r=data%2oppo%2


А Вам следует сперва определиться, что же у Вас имеется, строка или ссылка, а после - грамотно излагать суть проблемы, разумеется если Вам нужна чья либо помощь.
9. mvc - 09 Мая, 2014 - 21:43:10 - перейти к сообщению
Строитель Уважаемый я попросил помочь с регулярным выражением, создал топик в соответствующем разделе. А вы мне про GET запросы. Если бы мне нужна была бы помощь по этому поводу я бы создал в другой ветке форума.
10. IllusionMH - 09 Мая, 2014 - 22:02:05 - перейти к сообщению
mvc, есть стандартные способы парсить урлы и их параметры. Вы ссылки выше смотрели?
CODE (htmlphp):
скопировать код в буфер обмена
  1. preg_match('/\?[^=]*?=((\w*).*)/i','test.ru/info?r=data%2oppo%2', $matches);
  2. var_dump($matches);

допилите по смоему желанию
11. Panoptik - 09 Мая, 2014 - 22:02:33 - перейти к сообщению
ну так разбейте строку по знаку равно и всего делов то?

PHP:
скопировать код в буфер обмена
  1. $str = 'test.ru/info?r=data%2oppo%2';
  2. list($prefix, $value) = explode('=', $str, 2);
  3. var_dump($value);


регулярка будет наверное такой

PHP:
скопировать код в буфер обмена
  1. /=.+$/

всё же непонятно что вам нужно и зря отказываетесь от предложенных вам предложений
12. mvc - 09 Мая, 2014 - 23:36:31 - перейти к сообщению
Спасибо всем, вопрос решен!

 

Powered by ExBB FM 1.0 RC1