Als de PREG_SET_ORDER flag aan staat kan dat met "count($matches)", waarbij $matches de array met gevonden resultaten is.quote:Op vrijdag 8 februari 2008 16:03 schreef qu63 het volgende:
hoe kan ik weten hoeveel matches ik heb met Geqxon's preg_match_all?
ereg_replace("[^A-Za-z0-9]", "", $string);quote:Op vrijdag 8 februari 2008 16:06 schreef Chandler het volgende:
Kleine vraag; hoe kan ik alle karakters uit een stuk test die niet a-Z0-9_- zijn verwijderen?
Ik zie het al. Dat komt zo te zien door de \r\n op het einde. Probeer het eens met deze weggehaald?quote:Op vrijdag 8 februari 2008 16:55 schreef qu63 het volgende:
op de een of andere naier skipped die preg_match_all de laatste .VOB in de lijst
dan pakt ie wel alle bestanden ja, alleen nu werken alleen de hashcodes nog, filename blijft leegquote:Op vrijdag 8 februari 2008 17:01 schreef Geqxon het volgende:
[..]
Ik zie het al. Dat komt zo te zien door de \r\n op het einde. Probeer het eens met deze weggehaald?
O leuk, gaan we golfen? :)quote:
1 2 3 | echo "<a href='pizza.php?id=$pizzaID'>".join(',',$ingredienten)."</a>"; ?> |
"join — Alias of implode()".quote:Op vrijdag 8 februari 2008 18:49 schreef SuperRembo het volgende:
[..]
O leuk, gaan we golfen?
[ code verwijderd ]
quote:Op vrijdag 8 februari 2008 18:49 schreef SuperRembo het volgende:
[..]
O leuk, gaan we golfen?
[ code verwijderd ]
1 |
1 |
1 2 3 4 5 6 7 8 9 10 11 12 | $url = "http://www.google.nl/search?hl=nl&q=een+zoek+woord&aq=een+ander+zoek+woord&meta="; $parameters = parse_url($url, PHP_URL_QUERY); $parameters = explode("&", $parameters); $parameter_array = array(); foreach ($parameters as $parameter){ list($key, $value) = explode("=", $parameter); $parameter_array[$key] = $value; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | function getmicrotime() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } function php_get_browser($agent = NULL) { $agent = $agent ? $agent : $_SERVER['HTTP_USER_AGENT']; $yu = array(); $q_s = array("#\.#","#\*#","#\?#"); $q_r = array("\.",".*",".?"); $brows = parse_ini_file("browscap.ini", true); foreach ($brows as $k => $t) { if (fnmatch($k, $agent)) { $yu['browser_name_pattern'] = $k; $pat = preg_replace($q_s, $q_r, $k); $yu['browser_name_regex'] = strtolower("^" . $pat . "$"); foreach ($brows as $g => $r) { if ($t['Parent'] == $g) { foreach ($brows as $a => $b) { if ($r['Parent'] == $a) { $yu = array_merge($yu, $b, $r, $t); foreach($yu as $d => $z) { $l = strtolower($d); $hu[$l] = $z; } } } } } break; } } return $hu; } $start = getMicroTime(); if (!function_exists('fnmatch')) { function fnmatch($pattern, $string) { return @preg_match('/^' . strtr(addcslashes($pattern, '/\\.+^$(){}=!<>|'), array('*' => '.*', '?' => '.?')) . '$/i', $string); } } echo '<pre>'; $brouwser = php_get_browser(); $brouwser['browser'] = str_replace("IE", "Internet Explorer", $brouwser['browser']); print_r($brouwser); echo round(getMicroTime() - $start, 2); ?> |
Wat is er zo vreselijk interessant aan welke browser/os een bezoeker precies gebruikt, waarom zou je daar zo veel webserverpower aan verspillen?quote:Op zondag 10 februari 2008 17:34 schreef Chandler het volgende:
Aangezien parsen van vele sites nogal intensief is vraag ik mij af of dit (zie code) te behappen is als je bv 1000 gebruikers p/minuut op je site krijgt.
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 | { [..] foreach ($brows as $g => $r) { [..] foreach ($brows as $a => $b) { [..] $yu = array_merge($yu, $b, $r, $t); foreach($yu as $d => $z) |
Ja ja Brouwserquote:Op zondag 10 februari 2008 19:59 schreef SuperRembo het volgende:
[..]
Wat is er zo vreselijk interessant aan welke browser/os een bezoeker precies gebruikt, waarom zou je daar zo veel webserverpower aan verspillen?
$brouwser![]()
Dan zal je nog het een en ander moeten optimaliseren, want nu haal je nog geen 15 pagina's per seconde.quote:Op zondag 10 februari 2008 20:16 schreef Chandler het volgende:
[..]
Ja ja Brouwser![]()
Maaruh gewoon, ik wil deze statistieken bewaren
1 2 3 4 5 6 | foreach ($brows as $g => $r) { if ($t['Parent'] == $g) { ?> |
Dan is het toch voldoende om $_SERVER['HTTP_USER_AGENT'] op te slaan bij iedere request?quote:Op zondag 10 februari 2008 20:16 schreef Chandler het volgende:
[..]
Ja ja Brouwser![]()
Maaruh gewoon, ik wil deze statistieken bewaren
Is dat niet nog simpeler? Enkel de browser-string opslaan, en pas bij het uitlezen deze "encoden" ?quote:Op zondag 10 februari 2008 23:01 schreef Chandler het volgende:
Ik heb nu een functie gemaakt die idd de meest gangbare browsers detecteerd, maar om er zeker van te zijn ga ik nu ook gewoon de browser string opslaan!
Ps. Is het handig om alle data zoals, dag, maand, jaar, cookies, plugins, referer, zoekwoorden en dergelijke infomatie in 1 tabel te zetten of is het handiger om dit in apparte tabellen te zetten?
Die functie werkt toch ook op basis van de browserstring? Dus meer heb je echt niet nodig.quote:Op zondag 10 februari 2008 23:01 schreef Chandler het volgende:
Ik heb nu een functie gemaakt die idd de meest gangbare browsers detecteerd, maar om er zeker van te zijn ga ik nu ook gewoon de browser string opslaan!
Er zijn legio plugins voor FireFox waar je het mee kan doen, ikzelf gebruik "Modify Headers", kan je alles zelf invullenquote:Op zondag 10 februari 2008 23:47 schreef Light het volgende:
[..]
Die functie werkt toch ook op basis van de browserstring? Dus meer heb je echt niet nodig.
Trouwens, een browserstring is manipuleerbaar. Je kunt er geen 100% garantie uit halen. Ik heb zo snel geen voorbeeld van een programma waar je die string volledig zelf kunt bepalen, maar er zijn vast wel van die programma's.
Edit: Je hebt realtime statistieken die je aanbied oid? Dan schiet het inderdaad niet op.quote:Apache/2.0.59 (Unix) mod_perl/1.99_17-dev Perl/v5.8.6 mod_ssl/2.0.59 OpenSSL/0.9.8e PHP/5.2.3 Server at www.ericbruggema.nl Port 80
Het is niet handig om dat nu allemaal op te slaan. Ten eerste ga je nooit al die info nodig hebben of gebruiken en ten tweede hoef je niet alles te berekenen - sla alleen de data op waaruit je de info kan destilleren,gewoon in ruwe vorm. Dan maak je later wel een scriptje om de benodigde velden te berekenen. Als je het on the fly gaat bereken met dat scriptje dat je hebt gepost dan trek je de server snel op zijn bek denk ik.quote:Op zondag 10 februari 2008 23:01 schreef Chandler het volgende:
Ik heb nu een functie gemaakt die idd de meest gangbare browsers detecteerd, maar om er zeker van te zijn ga ik nu ook gewoon de browser string opslaan!
Ps. Is het handig om alle data zoals, dag, maand, jaar, cookies, plugins, referer, zoekwoorden en dergelijke infomatie in 1 tabel te zetten of is het handiger om dit in apparte tabellen te zetten?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |