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 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. 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. 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. 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'); 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 } Link to comment https://forums.phpfreaks.com/topic/54584-preg_match/#findComment-269927 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.