Baving Posted June 7, 2007 Share Posted June 7, 2007 Hello, I am currently using a script which retrieves the following information "1,600 users online", however I only want the number. So is there anyway using preg_match to only get like "1,600"? Thanks Quote Link to comment https://forums.phpfreaks.com/topic/54584-preg_match/ Share on other sites More sharing options...
pocobueno1388 Posted June 7, 2007 Share Posted June 7, 2007 Just use your query: <?php $sql = mysql_query("SELECT count(*) FROM users WHERE last_online > TIME"); $num = mysql_num_rows($sql); echo 'There are '.$num.' users online'; ?> Obviously your gonna have to change the query to match your needs. Quote Link to comment https://forums.phpfreaks.com/topic/54584-preg_match/#findComment-269905 Share on other sites More sharing options...
Baving Posted June 7, 2007 Author Share Posted June 7, 2007 I am not getting it from a database, I am getting the file contents from another site and then exploding the div tag to retrieve the content. Code: - if(@$_GET['do']=='getcount') { $ext = @$_GET['ext']; $file = file_get_contents("http://sitehere".$ext); $explode = explode("<td id=\"topbar-count\">",$file,2); $explode2 = explode("</td>", $explode[1],2); $count = $explode2[0]; echo $count; } I need the preg_match somewhere in there to remove the members online and only show the number. Quote Link to comment https://forums.phpfreaks.com/topic/54584-preg_match/#findComment-269907 Share on other sites More sharing options...
pocobueno1388 Posted June 7, 2007 Share Posted June 7, 2007 Oh, I'm sorry...I read the question wrong. Well...I am assuming the number of people online will always be at the beginning of the string, right? So you can just use an explode on it and it should be the first value stored in your array all the time. Quote Link to comment https://forums.phpfreaks.com/topic/54584-preg_match/#findComment-269913 Share on other sites More sharing options...
jaikar Posted June 7, 2007 Share Posted June 7, 2007 $count = '1,600 users online'; $count = str_replace($count, '', 'users online'); if not works.. $count = str_replace($count, '', 'users'); $count = str_replace($count, '', 'online'); Quote Link to comment https://forums.phpfreaks.com/topic/54584-preg_match/#findComment-269917 Share on other sites More sharing options...
MadTechie Posted June 7, 2007 Share Posted June 7, 2007 using preg_match try $data = "1,600 users online"; if (preg_match('/^(.[0-9,.]+)/', $data, $regs)) { $result = $regs[0]; //1,600 } else { $result = ""; // not found } Quote Link to comment https://forums.phpfreaks.com/topic/54584-preg_match/#findComment-269927 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.