Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: RegExp
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
HooLIGUN
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 41
1

Извлечь слово и передать его в переменную

10.07.2017, 13:46. Просмотров 892. Ответов 8

Здравствуйте. Помогите пожалуйста разобраться:
1 вопрос:
Есть переменная
$sid = 'Использование чужого аккаунта VID_0:1:123456789'; // Цифры VID_0:1:123456789 могут быть различные
Как сделать: Если значение переменной начинается с "Использование чужого аккаунта" то нужно вытащить из этой переменной значение "VID_0:1:123456789" и придать это в другую переменную $vid

2 вопрос
Есть ссылка вида
https ://domain.ru/index.php?mode=info&user=32232

Нужно получить значение переменной user= (32232) если домен соответствует domain.ru (ну то есть получать это число, только если указан нужный домен)
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2017, 13:46
Ответы с готовыми решениями:

Передать переменную из js в php
Необходимо из main.js передать в php переменную "TotalScore"...

Как передать переменную JAVASCRIPT
Я вывожу вывожу страницу при помощи скрипта.При помощи JAVASCRIPT делаю всплывающую подсказку с...

Передать переменную в php-блок
Всем добрый день. Пишу сайт интернет-магазина. На главную страницу вывожу несколько товаров,...

Передать значение ссылки в переменную
<!-- организационная структура--> <script> function toggle(node, idVl) { dvS =...

Передать переменную из js в php в обратную свзяь
Гугл категорически не помог, хотя обсуждалось множество довольно близких тем. Задачи было две: 1....

8
plohoyav
296 / 309 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
10.07.2017, 19:00 2
Лучший ответ Сообщение было отмечено HooLIGUN как решение

Решение

PHP
1
2
3
4
$s = strlen("Использование чужого аккаунта");
if (substr($sid,0,$s)=="Использование чужого аккаунта") {
if (preg_match("/VID[\_0-9\:]+/ism",$sid,$mat)) $vid = $mat[0];
}
Добавлено через 6 минут
PHP
1
2
3
4
5
6
7
<?php
$url = 'https://domain.ru/index.php?mode=info&user=32232';
$parse = parse_url($url);
if ($parse['host']=='domain.ru') {
    parse_str($parse['query'], $g);
    echo $g['user'];
};
1
mrNTF
272 / 200 / 142
Регистрация: 22.01.2016
Сообщений: 637
10.07.2017, 21:41 3
1
PHP
1
2
$vid = preg_match('~Использование чужого аккаунта \KVID[0-9_:]+~',
    $sid, $m) ? $m[0] : null;
2
PHP
1
2
$n = preg_match('~domain\.ru[^&]+&user=\K\d+~',
    $str, $m) ? $m[0] : null;
1
HooLIGUN
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 41
10.07.2017, 22:00  [ТС] 4
plohoyav, Спасибо, а не подскажите, как сделать проверку, что если указана ссылка такого типа то обрабатывать код, если ссылка другая, то echo 'error'; ? (это про второй код)
0
plohoyav
296 / 309 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
10.07.2017, 22:06 5
PHP
1
2
3
4
5
6
7
8
9
10
<?php
$url = 'https://domain.ru/index.php?mode=info&user=32232';
$parse = parse_url($url);
if ($parse['host']=='domain.ru') {
    parse_str($parse['query'], $g);
    echo $g['user'];
} else {
    echo 'error';
    exit; // эта строка завершает работу скрипта
};
0
HooLIGUN
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 41
10.07.2017, 22:11  [ТС] 6
plohoyav, не совсем то. нужно через regex
Что то типо
PHP
1
2
3
4
5
<?
    elseif (preg_match(Тут регулярка домена (ссылки), Тут обрабатываемая ссылка)) {
// Тут ваш код
    }
?>
0
mrNTF
272 / 200 / 142
Регистрация: 22.01.2016
Сообщений: 637
10.07.2017, 22:14 7
HooLIGUN, чем плоха моя регулярка?
1
HooLIGUN
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 41
10.07.2017, 22:52  [ТС] 8
mrNTF, Ничем, взял на вооружение, пытаюсь внедрить к себе

Добавлено через 25 минут
GET запросы не передают параметры после .php ?
Сижу голову ломаю, почему выражение не срабатывает, а оно вот как.. отправил переменную GET:
Код
https://domain.ru/index.php?mode=info&user=32232
Результат
Код
https://domain.ru/index.php
Ничего нельзя придумать в этом случае?
0
plohoyav
296 / 309 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
10.07.2017, 23:52 9
PHP
1
2
3
4
5
6
7
<?
    elseif (preg_match("/\/\/domain\.ru\//ismU", $url)) {
$parse = parse_url($url);
parse_str($parse['query'], $g);
echo $g['user'];
    }
?>
Добавлено через 2 минуты
если параметры в url отсутствуют, они обычно есть в $_POST
0
10.07.2017, 23:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2017, 23:52

Как выбранное значение из селекта передать в переменную?
Вот у меня такое: echo &quot;&lt;br /&gt;Выберите номер сообщения&quot;; echo &quot; &lt;select id='mess' name='mess'&gt;&quot;;...

Как передать значение переменной JS в переменную PHP?
Как передать значение переменной JS в переменную PHP? Можно и в сессионную переменную.

Занести заматченное слово в переменную
Привет, как занести заматченное слово в переменную? Например, есть строка: &quot;Привет, меня зовут...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru