Jump to content

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


diondev

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.