Jump to content

[SOLVED] '$member.php?u=([0-9]+)$i'


Recommended Posts

I'm trying to grab a member ID from an URL.

 

The url looks like this: http://www.mysite.com/member.php?u=43

 

I want to get the number 43

 

Heres my code, which isn't working (if I print the array $mem_id it is empty):

 

<?php

preg_match('$member.php?u=([0-9]+)$i', $url, $mem_id);

?>

 

It's probably something simple I'm missing.

Link to comment
https://forums.phpfreaks.com/topic/167943-solved-memberphpu0-9i/
Share on other sites

very close but ? mean optional so php? means ph or php

and . means any so member(any character)ph

and $ also has special meaning at then end, it means last

So we need to escape ? and .

also [0-9] can be shorted to \d

 

so to sum up, try

<?php
preg_match('/member\.php\?u=(\d+)$/', $url, $mem_id);
?>

 

EDIT; this mean ends with number and before that has member.php?u=

Assuming there's a query string with a single value, you could track the query part of the url using parse_url:

 

$url = 'http://www.mysite.com/member.php?u=43';
echo substr($arr = parse_url($url, PHP_URL_QUERY), strpos($arr, '=')+1); // Output: 43

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.