Ik heb zoiets gemaakt, maar ik heb hem dan wel zodat je ook vorige/volgende/eerste/laatste pagina hebt en dat er maximaal 5 links staan die dus doorschuiven.quote:Op maandag 4 mei 2009 22:33 schreef Pizzahut het volgende:
Tevens ben ik op zoek naar een manier van paging icm een query.
dus als er bijv. 24 foto's op een pagina staan er een 1, 2, 3 onder komt te staan waar je naar de volgende reeks gaat. (Op google kom ik de vreemste manieren tegen, ooit een keer gemaakt op een makkelijke manier alleen vergeten hoe).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [1] 2 3 4 5 > >> pagina 2 < 1 [2] 3 4 5 > >> pagina 3 << < 1 2 [3] 4 5 > >> pagina 4 << < 2 3 [4] 5 6 > >> een na laatste pagina << < 7 8 9 [10] 11 > laatste pagina << < 7 8 9 10 [11] |
1 2 3 4 5 6 7 8 | function afkappen_zin2($string, $max_words = 5) { if (preg_match("/(\S+\s*){0,$max_words}/", $string, $matches)) { array_pop($matches); return join("", $matches); } } ?> |
En wat als de if-conditie niet waar bijkt te zijn? Als er bijvoorbeeld helemaal geen spaties inzitten? In de code wordt dan niets teruggegeven, terwijl het m.i. netter is om $string terug te geven.quote:Op dinsdag 5 mei 2009 12:47 schreef slacker_nl het volgende:
ow, omdat we een regexp gebruiken betekend niet dat we gelijk alles maar met een regexp moeten oplossen. Je kan ook split doen op ' ', maar dan pak je geen tabs (en die pakt de \s wel), dat is de enige reden van de regexp in de split, verder vind ik een split/join helemaal niet zo'n probleem als we het hebben over efficientie.
Maar goed, dit kan ook ja:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function afkappen_zin($string, $max_words = 5) { return join(" ", array_slice(preg_split("/\s+/", $string), 0, $max_words)); } function afkappen_zin2($string, $max_words = 1) { if ($string || strlen($string)) { if (preg_match("/(\S+\s*){0,$max_words}/", $string, $matches)) { array_pop($matches); return join("", $matches); } } return $string; } printf("%s\n", afkappen_zin("Dit is een lange zin, vol met woorden en die gaan we afkappen", 6)); printf("%s\n", afkappen_zin2("Dit is een lange zin, vol met woorden en die gaan we afkappen", 6)); printf("%s\n", afkappen_zin("Dit is", 1)); printf("%s\n", afkappen_zin2("ditititititititititiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii", 6)); printf("%s\n", afkappen_zin2("0", 6)); printf("%s\n", afkappen_zin2("", 6)); ?> |
1 2 3 4 5 6 7 8 | function afkappen_zin2($string, $max_words = 5) { if (preg_match("/(\S+\s*){0,$max_words}/", $string, $matches)) { array_pop($matches); } return join("", $matches); } ?> |
als ie parsed en "" teruggeeft als er geen matches bestaan, dan lijkt het me dat het klopt.quote:Op dinsdag 5 mei 2009 13:37 schreef GI het volgende:
Waarom dan niet gewoon:
[ code verwijderd ]
Of zie ik nou iets over het hoofd ?
1 2 3 4 5 | return implode(', ', array_map(create_function('$t', 'return "<a href=\"?action=search&query=$t\">$t</a>";' ), $this->tags)); ?> |
Kan onder Windows ook. php.exe <3quote:Op dinsdag 5 mei 2009 14:50 schreef slacker_nl het volgende:
Als je een Linux machine hebt kan je ook nog met php5-cli gaan werken en dan kan je dit gewoon gebruiken: php x.php
Zo maak ik al mijn php code (zodat ik geen browser nodig heb om bepaalde zaken te testen).
Zoeken naar een shoutbox.quote:Op dinsdag 5 mei 2009 14:51 schreef RHCPeter het volgende:
Ik heb een vraagje
Ik wil een tabel maken op mijn site waar bezoekers zelf iets in kunnen zettenOngeveer hetzelfde principe als dit:
http://www.iphonefriendcodes.com/games/4-Mafia-Wars
Weet iemand hoe ik dat kan doen?
Het zou juist jammer zijn als dit niet zou kunnen. Als je de output van een functie niet aan een andere functie mee kon geven, zou je een hoop missen.quote:Op dinsdag 5 mei 2009 15:27 schreef Thomass het volgende:
Soms vraag ik mezelf af waar ik in godsnaam mee bezig ben als ik prog in PHP, en waarom het zo populair is
Waarom zitten dit soort `features' in godsnaam in PHP (en waarom gebruik ik ze)?
[ code verwijderd ]
Klacht: php is kut
Als jij dit geschreven hebt ben jij vooralsnog degene die echt kut is... Dat PHP het toestaat is misschien ook wat jammer, maar echt kut ben jij in deze...quote:Op dinsdag 5 mei 2009 15:27 schreef Thomass het volgende:
Soms vraag ik mezelf af waar ik in godsnaam mee bezig ben als ik prog in PHP, en waarom het zo populair is
Waarom zitten dit soort `features' in godsnaam in PHP (en waarom gebruik ik ze)?
[ code verwijderd ]
Klacht: php is kut
Dankjequote:Op dinsdag 5 mei 2009 15:43 schreef whoops het volgende:
[..]
Als jij dit geschreven hebt ben jij vooralsnog degene die echt kut is... Dat PHP het toestaat is misschien ook wat jammer, maar echt kut ben jij in deze...
Ik bedoelde dat er dingen in die taal zitten zoals 'create_function' die twee strings accepteerd enzo. Dat moet dan doorgaan voor een anonieme functiequote:Op dinsdag 5 mei 2009 15:33 schreef GlowMouse het volgende:
[..]
Kan onder Windows ook. php.exe <3
[..]
Zoeken naar een shoutbox.
[..]
Het zou juist jammer zijn als dit niet zou kunnen. Als je de output van een functie niet aan een andere functie mee kon geven, zou je een hoop missen.
Dat valt wel mee toch? Dit is ook leuk:quote:Op dinsdag 5 mei 2009 15:27 schreef Thomass het volgende:
Soms vraag ik mezelf af waar ik in godsnaam mee bezig ben als ik prog in PHP, en waarom het zo populair is
Waarom zitten dit soort `features' in godsnaam in PHP (en waarom gebruik ik ze :') )?
[ code verwijderd ]
Klacht: php is kut
1 2 3 4 5 6 7 | $a = 'String'; $b = 0; if($a == true && $b == false && $a == $b) { echo 'Universe is broken'; } ?> |
Windows is kutquote:
My pleasure, dummyquote:
1 2 3 4 5 | function afkappenZin($string, $max = 5) { return join(" ", array_slice(preg_split("/\s+/", $string), 0, $max)); } ?> |
Door [ php] en [ /php] te gebruiken.quote:Op dinsdag 5 mei 2009 22:12 schreef Pizzahut het volgende:
[ code verwijderd ]
(hoe krijg je die php colors in die code tag?)
Deze lijkt goed te werken! Zou je me kunnen uitleggen hoe deze werkt? (Vanaf de join). Weet ik dat voor de volgende keer
Dit was deze code:quote:Op dinsdag 5 mei 2009 22:12 schreef Pizzahut het volgende:
[ code verwijderd ]
Deze lijkt goed te werken! Zou je me kunnen uitleggen hoe deze werkt? (Vanaf de join). Weet ik dat voor de volgende keer :)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function afkappenZin($string, $max = 5) { /* We splitten de zin op alle whitespace characters als er 1 of meer voorkomen dmv een reguliere expressie */ $array = preg_split("/\s+/", $string); /* Aantal woorden dat we willen weergeven We willen $max aantal resultaat hebben kan met for-loop maar kan ook met array_slice */ $wanted = array_slice($array, 0, $max); /* wat je al wist */ return join(" ", $wanted); } ?> |
array_pop moet trouwens array_shift zijnquote:Op dinsdag 5 mei 2009 13:37 schreef GI het volgende:
Waarom dan niet gewoon:
[ code verwijderd ]
Of zie ik nou iets over het hoofd ?
Thanxquote:Op woensdag 6 mei 2009 00:14 schreef slacker_nl het volgende:
[..]
Dit was deze code:
[ code verwijderd ]
\s is een whitespace character: spatie, tab, enter, \r etc etc.quote:Op woensdag 6 mei 2009 09:10 schreef Pizzahut het volgende:
[..]
ThanxGelijk een stuk duidelijker!
Maar hoe weet je welke whitespace expressies je moet hebben?
(Dat zijn toch de /\s+/) ?
want ik zie ook wel eens /\[s+]\
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <!-- test room --> <a href=room.php?room= echo $room1 target=_blank><div class='status'> echo $room1 </div><div class='cam'><a href=room.php?room= echo $room1 target=_blank> if($online1==$time) { echo "<http://static.domein.nl/previews/picture$room1.jpg alt=Chat border=0 class=fullborder title=Chat>"; } else { echo "<div class='img'></div>"; } </a></div><div class='line'></div><div class='btn'> <a href=room.php?room= echo $room1 target=_blank>Chat</a></div> </a></div> <!-- end test room --> ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |