abonnement Unibet Coolblue Bitvavo
pi_56604613
Kleine vraag; hoe kan ik alle karakters uit een stuk test die niet a-Z0-9_- zijn verwijderen?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_56604640
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?
Als de PREG_SET_ORDER flag aan staat kan dat met "count($matches)", waarbij $matches de array met gevonden resultaten is.
pi_56604793
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?
ereg_replace("[^A-Za-z0-9]", "", $string);
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_56604974
quote:
Op vrijdag 8 februari 2008 15:28 schreef Geqxon het volgende:

[ code verwijderd ]

Zoiets?
lol ja zo simpel is het

fokME2, ook bedankt voor de suggestie!
pi_56605094
Moggel

Ik ben bezig met een projectje, bij de opzet hiervan heb ik gekozen om de page routing te laten lopen via een custom 404. Op die manier krijg je mooie urls als http://www.computeraap.com/foo/bar/. Ook kan ik zo makkelijk dingen gescheiden houden en dynamisch uitvoeren.

Werkt allemaal prima, alleen bij het posten van een formulier naar /foo/bar/ blijft de $_POST variabele leeg, dit zal wel te maken hebben met die 404.

Iemand misschien een oplossing hiervoor? Behalve natuurlijk alles opsplitsen in phptjes en daar naar toe posten.
  vrijdag 8 februari 2008 @ 16:37:58 #186
39436 Dreammaster
Dat zei je moeder vannacht ook
pi_56605287
waarom niet met een ModRewrite

[ Bericht 13% gewijzigd door Dreammaster op 08-02-2008 16:45:45 ]
  vrijdag 8 februari 2008 @ 16:55:15 #187
62215 qu63
..de tijd drinkt..
pi_56605566
op de een of andere naier skipped die preg_match_all de laatste .VOB in de lijst
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_56605660
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
Ik zie het al. Dat komt zo te zien door de \r\n op het einde. Probeer het eens met deze weggehaald?
  vrijdag 8 februari 2008 @ 17:09:05 #189
62215 qu63
..de tijd drinkt..
pi_56605780
quote:
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?
dan pakt ie wel alle bestanden ja, alleen nu werken alleen de hashcodes nog, filename blijft leeg
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_56607386
quote:
Op vrijdag 8 februari 2008 15:56 schreef Geqxon het volgende:
Bring it on!
[ code verwijderd ]

:6
O leuk, gaan we golfen? :)

1
2
3
<?php
echo "<a href='pizza.php?id=$pizzaID'>".join(',',$ingredienten)."</a>";
?>
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_56614942
quote:
Op vrijdag 8 februari 2008 18:49 schreef SuperRembo het volgende:

[..]

O leuk, gaan we golfen?
[ code verwijderd ]
"join — Alias of implode()".

Na-apert.
pi_56617593
quote:
Op vrijdag 8 februari 2008 18:49 schreef SuperRembo het volgende:

[..]

O leuk, gaan we golfen?
[ code verwijderd ]
1<?="<a href=pizza.php?id=$pizzaID>".join(', ',$ingredienten)."</a>"



Met spatie!

Naja, ik ben slapen.

[ Bericht 14% gewijzigd door fokME2 op 09-02-2008 12:45:53 ]
pi_56625084
Een vraagje.

Ik gebruik het volgende

1stristr($url_tmp, $query1)


$url_tmp = http://www.google.nl/search?hl=nl&q=een+zoek+woord&meta=
$query1 = q=

maar zag ik een query afkomstig van google met aq er in :{ oftewel

http://www.google.nl/search?hl=nl&q=een+zoek+woord&aq=een+ander+zoek+woord&meta=

maar nu zou ik graag de stristr functie willen replacen met iets waarbij ik ook goed ? of & kan uitlezen.

Heeft iemand een goed idee?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_56625881
Zoiets:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
    $url 
"http://www.google.nl/search?hl=nl&q=een+zoek+woord&aq=een+ander+zoek+woord&meta=";
    
$parameters parse_url($urlPHP_URL_QUERY);
    
$parameters explode("&"$parameters);
    
$parameter_array = array();
    
    foreach (
$parameters as $parameter){
        list(
$key$value) = explode("="$parameter);
        
        
$parameter_array[$key] = $value;
    }
?>

?

Al kan een regex ook prima.

[ Bericht 21% gewijzigd door Geqxon op 09-02-2008 18:04:18 ]
pi_56641611
ik denk dat je voor het mooie zelfs het parsen van de query string kan laten uitvoeren door parse_str, http://nl3.php.net/manual/en/function.parse-str.php
pi_56647585
Idd Geqxon, dat is ook een optie... maar ik denk even verder
@Arjan321: kan ook, zal er even naar kijken.

Iets anders

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.

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
<?php
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() - $start2);
 
?>


Voorbeeld: http://www.ipcounter.nl/test/getbrowser.php

Ps. browscap.ini is ruim 300KB!

Op mijn host kan ik namelijk geen get_browser gebruiken aangezien de browscap.ini niet gezet is
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_56650353
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 ]
Wat is er zo vreselijk interessant aan welke browser/os een bezoeker precies gebruikt, waarom zou je daar zo veel webserverpower aan verspillen?

$brouwser
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_56650720
1
2
3
4
5
6
7
8
9
10
11
12
    foreach ($brows as $k => $t)
    {
    [..]
    
        foreach ($brows as $g => $r)
            {
            [..]
                    foreach ($brows as $a => $b)
                    {
                    [..]
                            $yu = array_merge($yu, $b, $r, $t);
                            foreach($yu as $d => $z)


Dit lijkt me niet echt optimaal, heel zachtjes uitgedrukt.
pi_56650794
quote:
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
Ja ja Brouwser

Maaruh gewoon, ik wil deze statistieken bewaren
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_56651063
quote:
Op zondag 10 februari 2008 20:16 schreef Chandler het volgende:

[..]

Ja ja Brouwser

Maaruh gewoon, ik wil deze statistieken bewaren
Dan zal je nog het een en ander moeten optimaliseren, want nu haal je nog geen 15 pagina's per seconde.
Als ik me goed herinner is foreach niet de snelste manier om door een array te lopen. Je zou ook een scriptje kunnen schrijven die de browsecap.ini file om zet naar een php inlcude file waar je alvast wat voorbereiding hebt gedaan. Je kan er dan ook voor zorgen dat de meest populaire browsers vooraan staan en de zeldzame achteraan.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zondag 10 februari 2008 @ 21:09:43 #201
85514 ralfie
!Yvan eht nioj
pi_56651974
Met wat voorwerk kun je dat script véél efficienter maken.. Enkele voorbeelden:

*gebruik eerst array_key_search oid, grote kans dat de meeste browsers er dan al uitrollen zonder dat je die hele tabel 400 keer op en neer moet

* foreach: niet gebruiken. Foreach gebruikt een kopie van de array waar je um op zet, dus als je array om en nabij de 300 kb is en je foreach in foreach in foreach lust ben je niet slim bezig

* Verschillende keren zie je parent=naamxxxx staan. Kijk eens of je daar een numerieke verwijzing aan kan hangen, gaat veel sneller

* Splitsen van browserherkenning en info in verschillende bestanden, bijvoorbeeld met binary trees

* Erg omslachtig natuurlijk, maar databases zijn erg goed in het snel opzoeken van dit soort informatie in dit soort tabellen

etc

EDIT, oh enneh

1
2
3
4
5
6
<?php
foreach ($brows as $g => $r)
            {
                if (
$t['Parent'] == $g)
                {
?>

Wat is er mis met $brows[ $t['parent'] ] ?
pi_56652088
-

[ Bericht 94% gewijzigd door Geqxon op 10-02-2008 21:15:13 ]
pi_56654741
quote:
Op zondag 10 februari 2008 20:16 schreef Chandler het volgende:

[..]

Ja ja Brouwser

Maaruh gewoon, ik wil deze statistieken bewaren
Dan is het toch voldoende om $_SERVER['HTTP_USER_AGENT'] op te slaan bij iedere request?
pi_56655448
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?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_56655770
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?
Is dat niet nog simpeler? Enkel de browser-string opslaan, en pas bij het uitlezen deze "encoden" ?
pi_56656589
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!
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.
  zondag 10 februari 2008 @ 23:54:06 #207
62215 qu63
..de tijd drinkt..
pi_56656715
quote:
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.
Er zijn legio plugins voor FireFox waar je het mee kan doen, ikzelf gebruik "Modify Headers", kan je alles zelf invullen
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_56656895
"User Agent Switcher".
pi_56656904
Waarom wil je in godensnaam al die dingen opslaan? Als je zo graag die dingen wil hebben ga dan gewoon je apache logs parsen?
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
Edit: Je hebt realtime statistieken die je aanbied oid? Dan schiet het inderdaad niet op.

[ Bericht 53% gewijzigd door fokME2 op 11-02-2008 00:08:20 ]
pi_56657040
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?
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.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')