Intereting Posts
Выполнять команды AT для отправки смс в php Использование переменных PHP внутри HTML-тегов? Как я могу использовать этот атрибут класса в PHP, чтобы получить общее значение для всех экземпляров класса? Ошибка PhpMyAdmin с конфигурационным файлом Каков наилучший способ создания случайного хэша / строки? Как использовать переменные PHP, заключенные в двойном проценте (%% variable %%) внутри html Пропустить модельный аксессуар php URL – заменить знак вопроса и параметр слэш XPath и PHP: ничего не работает должным образом Laravel – модель запроса, если значения содержат определенную строку (взятую из ввода поиска) Поиск расширенного скрипта pgination php / mysql Php-скрипт для продолжения, если mysql не работает Google api refresh_token null и как обновить токен доступа Создать случайную строку из 5 символов Возможные способы сортировки записей, в которых используются неанглийские шрифты?

Regex для получения значения параметра числового URL?

В URL-адресе, подобном приведенному ниже, я хотел бы получить значение ProdId. Формат URL всегда будет согласованным, как и имя параметра, но длина значения может измениться. Он всегда будет числовым.

http://www.example.com/page.php?ProdId=2683322&xpage=2 

Используя PHP, что самый быстрый способ его получить (я буду обрабатывать 10 000, так что скорость – это проблема)?

    Для этого PHP имеет встроенные функции. Используйте parse_url() и parse_str() вместе.

    Составлено вместе с php.net:

     $url = 'http://www.example.com/page.php?ProdId=2683322&xpage=2'; // Parse the url into an array $url_parts = parse_url($url); // Parse the query portion of the url into an assoc. array parse_str($url_parts['query'], $path_parts); echo $path_parts['ProdId']; // 2683322 echo $path_parts['xpage']; // 2 

    Попробуйте это регулярное выражение:

     ^http://www\.example\.com/page\.php\?ProdId=(\d+) 

    Вы не можете использовать $_GET['ProdId'] ?

    Попробуйте эту функцию:

     /https?:\/{2}(?:w{3}\.)?[-.\w][^\.]+\.{2,}\/ProdId=\d+\&xpage=\d+/ 
     /^[^#?]*\?(?:[^#]*&)?ProdId=(\d+)(?:[#&]|$)/ 

    И то же самое на английском языке:

    1. Матч ничего, кроме ? или # (это приведет нас к началу строки запроса или хэш-части, в зависимости от того, что наступит раньше)
    2. Сопоставьте ? (если была только хэш-часть, это будет дисквалифицировать матч)
    3. Возможно, что-нибудь (но не #, если есть хеш-часть)
    4. Сопоставьте пару своих ключевых значений, положив значение в подшаблоне захвата
    5. Сопоставьте либо следующий параметр &, либо #, либо конец строки.