abonnement Unibet Coolblue Bitvavo
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 13:09:59 #51
1972 Swetsenegger
Egocentrische Narcist
pi_31111246
quote:
Op zondag 2 oktober 2005 13:00 schreef SuperRembo het volgende:

[..]

Als je hier nou meteen naar het juiste topic had gelinkt, dan had ik 'm meteen gesnapt.
Altijd userinput checken

Anyway, ik ga even een aantal uurtjes quality time met mijn dochter besteden. Vanavond weer over nadenken.

[ Bericht 11% gewijzigd door Swetsenegger op 02-10-2005 13:16:17 ]
pi_31111602
Ik zit nu op 91 77 68 tekens met een preg_replace, 103102 tekens met een loop.

Nog een flinke weg te gaan naar de 66 (of minder tekens)
Ik kom in de buurt van de 66

[ Bericht 47% gewijzigd door SuperRembo op 02-10-2005 15:36:48 ]
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 15:31:08 #53
1972 Swetsenegger
Egocentrische Narcist
pi_31116057
quote:
Op zondag 2 oktober 2005 13:18 schreef SuperRembo het volgende:
Ik zit nu op 9177 tekens met een preg_replace, 103102 tekens met een loop.

Nog een flinke weg te gaan naar de 66 (of minder tekens)
Vanavond weer eens kijken, maar 66 tekens is echt bizar weinig.
niet vergeten dat je de laatste ?> mag weglaten he
pi_31116257
quote:
Op zondag 2 oktober 2005 15:31 schreef Swetsenegger het volgende:

[..]

Vanavond weer eens kijken, maar 66 tekens is echt bizar weinig.
niet vergeten dat je de laatste ?> mag weglaten he
Dan moet er wel weer een ; achter. Dan zit ik nu op 67.
63!

Zal dan maar ff reggen op dat forum
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 15:42:32 #55
1972 Swetsenegger
Egocentrische Narcist
pi_31116376
quote:
Op zondag 2 oktober 2005 15:38 schreef SuperRembo het volgende:

[..]

Dan moet er wel weer een ; achter. Dan zit ik nu op 67.
63!

Zal dan maar ff reggen op dat forum
Dat zal ik maar doen.
trouwens, je kan 'm mailen naar phpgolf [at] gmail.com
pi_31116414
Ik krijg wel 2 + (aantal niet-spaties) notices
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31116434
63
Ik had al wel het vermoeden dat jij in de buurt zou komen van die 66, maar na een middagje die 66 al gepasseerd!
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 15:46:05 #58
1972 Swetsenegger
Egocentrische Narcist
pi_31116463
quote:
Op zondag 2 oktober 2005 15:43 schreef SuperRembo het volgende:
Ik krijg wel 2 + (aantal niet-spaties) notices
notices staan standaard uit, en is dus geldig
De huidige nummer 1 heeft 66 met een notice. Als hij 68 karakters gebruikt heeft hij geen notices, maar de 66 karakter optie is gewoon geldig

Ben wel heeeeeeeeeeeeeeeeel benieuwd hoe je het gedaan hebt

volgens mij moet ik hier toch 'om de andere' mee kunnen krijgen
quote:
Replacement may contain references of the form \\n or (since PHP 4.0.4) $n, with the latter form being the preferred one. Every such reference will be replaced by the text captured by the n'th parenthesized pattern. n can be from 0 to 99, and \\0 or $0 refers to the text matched by the whole pattern. Opening parentheses are counted from left to right (starting from 1) to obtain the number of the capturing subpattern.
Maar dat lukt me niet, en deze:
quote:
The precise effect of "\cx" is as follows: if "x" is a lower case letter, it is converted to upper case. Then bit 6 of the character (hex 40) is inverted. Thus "\cz" becomes hex 1A, but "\c{" becomes hex 3B, while "\c;" becomes hex 7B.
Zal toch ook enig lucht moeten geven in het aantal gebruikte karakters.

Maar die krijg ik OOK al niet aan de praat

[ Bericht 41% gewijzigd door Swetsenegger op 02-10-2005 15:56:37 ]
pi_31118993
Ik schaam me diep, 193 tekens
Aangezien het geen enkele competitie is zal ik em posten:
1
2
3
$a=$_POST['string'];for($b=0;$b<strlen($a);$b++){$c=ord(substr($a,$b,1));
if($c!=32){$e++;$g=($e%2!=0)?(($c<91)?chr($c):chr($c-32)):(($c<91)?chr($c+32):
chr($c));$f.=$g;}else{$f.=" ";}}echo $f;


(minus enters dus)
Ik zal me beter moeten verdiepen in preg_replaces, anders wordt het echt niks

-edit- 154
1
2
3
$a=$_POST['string'];for($b=0;$b<strlen($a);$b++){$c=substr($a,$b,1);
if($c!=" "){$d.=($e%2==0)?strtoupper($c):strtolower($c);$e++;}else $d.=" ";}
echo $d;


[ Bericht 26% gewijzigd door Nevermind op 02-10-2005 17:44:19 ]
pi_31119765
In plaats van $c=substr($a,$b,1) zou je $c=$a{$b} kunnen gebruiken.
En in plaats van if else kan je ook de ? : operator gebruiken.

Met een (for)loop heb ik 'm in 93 tekens.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31120380
Dankje, de accollades had ik ook net bedacht, en daarmee kom ik op 133. Nu verder met ? :
Erg leuk om te doen trouwens, ook al ben ik er niet erg goed in
-edit- 124 122 117

[ Bericht 3% gewijzigd door Nevermind op 02-10-2005 18:32:03 ]
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 18:18:18 #62
1972 Swetsenegger
Egocentrische Narcist
pi_31120485
quote:
Op zondag 2 oktober 2005 18:14 schreef Nevermind het volgende:
Dankje, de accollades had ik ook net bedacht, en daarmee kom ik op 133. Nu verder met ? :
Erg leuk om te doen trouwens, ook al ben ik er niet erg goed in
-edit- 124
Ik ben er ook niet goed in, maar je leert er wel een hoop handiheidjes mee
De verkorte if notatie bijvoorbeeld
quote:
Op zondag 2 oktober 2005 17:54 schreef SuperRembo het volgende:
In plaats van $c=substr($a,$b,1) zou je $c=$a{$b} kunnen gebruiken.

Die ken/kon ik niet.
pi_31120519
quote:
Op zondag 2 oktober 2005 18:18 schreef Swetsenegger het volgende:

[..]

Ik ben er ook niet goed in, maar je leert er wel een hoop handiheidjes mee
De verkorte if notatie bijvoorbeeld
Inderdaad, bedankt voor de tip trouwens
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 18:29:18 #64
1972 Swetsenegger
Egocentrische Narcist
pi_31120782
Nevermind, je kan ook een foreach loop gebruiken en alleen de $b++.
Als je namelijk de eerste keer begint is $b dan NULL en dan begint hij gewoon bij 0, de volgende ronde is hij 1. Dat levert wel een notice op, maar dat is niet fout

alleen maakt dat weinig uit met betrekking tot karakters
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 19:12:04 #65
1972 Swetsenegger
Egocentrische Narcist
pi_31121947
$c=chr($c & 0)

waarom geeft dit altijd een spatie terug?
pi_31122170
Dat hangt maar net van de waarde van $c af
pi_31122265
Ik kwam er achter dat je in for-loops ook direct resultaat kan teruggeven, weer wat geleerd. Daarmee kom ik op
1
2
$a=$_POST[string];for($c=0;$c<strlen($a);print($a{$c}!=" "
?$c%2==0?strtoupper($a{$c}):strtolower($a{$c}):" "),$c++);


Nog steeds veel te veel, maar het is weer een paar tekens minder

Maar als ik het goed begrijp kun je alleen het print-commando gebruiken? Zelfs echo werkt niet.
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 19:27:18 #68
1972 Swetsenegger
Egocentrische Narcist
pi_31122471
quote:
Op zondag 2 oktober 2005 19:18 schreef JeRa het volgende:
Dat hangt maar net van de waarde van $c af
Ongeacht de waarde van $c geeft hij dus altijd 0 terug (en met chr() dus een spatie)
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 19:28:01 #69
1972 Swetsenegger
Egocentrische Narcist
pi_31122501
quote:
Op zondag 2 oktober 2005 19:20 schreef Nevermind het volgende:
Ik kwam er achter dat je in for-loops ook direct resultaat kan teruggeven, weer wat geleerd. Daarmee kom ik op
[ code verwijderd ]

Nog steeds veel te veel, maar het is weer een paar tekens minder

Maar als ik het goed begrijp kun je alleen het print-commando gebruiken? Zelfs echo werkt niet.
klopt, met print kan je het resultaat van een functie printen, met echo niet
en je kan die strtolower en strtoupper nog vervangen door een bitwise operatie. Hoewel dat bij tot op heden nog niet lukt
pi_31122519
quote:
Op zondag 2 oktober 2005 19:27 schreef Swetsenegger het volgende:

[..]

Ongeacht de waarde van $c geeft hij dus altijd 0 terug (en met chr() dus een spatie)
Maar je doet '& 0', dus ik mag aannemen dat $c een integer is? Of is het een character?
pi_31122580
quote:
Op zondag 2 oktober 2005 19:20 schreef Nevermind het volgende:
Ik kwam er achter dat je in for-loops ook direct resultaat kan teruggeven, weer wat geleerd. Daarmee kom ik op
[ code verwijderd ]

Nog steeds veel te veel, maar het is weer een paar tekens minder

Maar als ik het goed begrijp kun je alleen het print-commando gebruiken? Zelfs echo werkt niet.
Ik wil niet vervelden doen, maar klopt je output wel? Je moet wel rekening houden met de spaties.


1
2
3
input  = "PHPFreakz heeft een community"
output = "PhPfReAkZ hEeFt EeN cOmMuNiTy" // Goed
output = "PhPfReAkZ HeEfT EeN CoMmUnItY" // Fout
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31122611
quote:
Op zondag 2 oktober 2005 19:27 schreef Swetsenegger het volgende:

[..]

Ongeacht de waarde van $c geeft hij dus altijd 0 terug (en met chr() dus een spatie)
$c & 0 is altijd 0, net als $c and false altijd false is.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31122625
Ai, je hebt gelijk SuperRembo. Ik ga er later weer over verder denken
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 19:33:23 #74
1972 Swetsenegger
Egocentrische Narcist
pi_31122640
quote:
Op zondag 2 oktober 2005 19:32 schreef SuperRembo het volgende:

[..]

$c & 0 is altijd 0, net als $c and false altijd false is.
hoe moet ik dan AND'ten met 0

-edit- ik geef het op ook. Mijn laatste werkende code was iets van 139 karakters. Ik ga NOOIT onder die 63 komen
pi_31122655
quote:
Op zondag 2 oktober 2005 19:28 schreef Swetsenegger het volgende:

[..]

klopt, met print kan je het resultaat van een functie printen, met echo niet
en je kan die strtolower en strtoupper nog vervangen door een bitwise operatie. Hoewel dat bij tot op heden nog niet lukt
Die bitwise operaties werken ook met tekens, maar dan moet je wel aan beide kanten een character gebruiken. Dat het verschil tussen hoofdletter en kleine letter altijd een spatie is, dat veronderstel ik bekend

Overigens ben ik nog niet verder gekomen dan 69 (zonder php sluit tag), of 108 met een loopje
pi_31122660
-edit-
pi_31122684
quote:
Op zondag 2 oktober 2005 19:33 schreef Swetsenegger het volgende:

[..]

hoe moet ik dan AND'ten met 0
Er zit verschil tussen 'a' & 0 en 'a' & '0'.
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 19:37:18 #78
1972 Swetsenegger
Egocentrische Narcist
pi_31122758
quote:
Op zondag 2 oktober 2005 19:35 schreef Light het volgende:

[..]

Er zit verschil tussen 'a' & 0 en 'a' & '0'.
Ja ik vat 'm nu, moet dus $c=$c&' ' zijn.
-edit- nee dus
pi_31122903
1
2
3
<?php
$a
=strtolower($_POST[string]);$a=preg_replace('/\w\s?\w?/e','ucfirst("$0")',$a);
?>

Verder dan dat kom ik op het moment niet. 84 tekens inclusief <? en ?>
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 19:46:51 #80
1972 Swetsenegger
Egocentrische Narcist
pi_31123092
quote:
Op zondag 2 oktober 2005 19:41 schreef JeRa het volgende:

[ code verwijderd ]

Verder dan dat kom ik op het moment niet. 84 tekens inclusief <? en ?>
Hij doet het niet.
pi_31123101
quote:
Op zondag 2 oktober 2005 19:46 schreef Swetsenegger het volgende:

[..]

Hij doet het niet.
Wat doet hij niet? Hier draait ie prima?

edit: met output, zie hieronder.
pi_31123177
1
2
3
<?php
$a
=strtolower($_POST[string]);echo preg_replace('/\w\s?\w?/e','ucfirst("$0")',$a);
?>

86 tekens.
pi_31123275
quote:
Op zondag 2 oktober 2005 19:49 schreef JeRa het volgende:

[ code verwijderd ]

86 tekens.
Maak er dan
1<?=preg_replace('/\w\s?\w?/e','ucfirst("$0")',strtolower($_POST[string]));

van, heb je 74
pi_31123356
quote:
Op zondag 2 oktober 2005 19:51 schreef Nevermind het volgende:

[..]

Maak er dan
[ code verwijderd ]

van, heb je 74
In mijn afgunst van die constructie was ik 'm gewoon helemaal vergeten nou, nog maar 12 tekens
pi_31123425
Kun je niet iets toevoegen aan de pattern zodat ie case insensitive wordt en je het "strtolower"-stukje weg kan laten?
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 19:57:04 #86
1972 Swetsenegger
Egocentrische Narcist
pi_31123446
ucfirst maakt van het eerste karakter van een string een hoofdletter.
Ik begrijp je regexp niet
pi_31123463
quote:
Op zondag 2 oktober 2005 19:56 schreef Nevermind het volgende:
Kun je niet iets toevoegen aan de pattern zodat ie case insensitive wordt en je het "strtolower"-stukje weg kan laten?
Case insensitive maken is makkelijk (i-modifier), maar de bron lowercase maken is een ander verhaal nog niets gevonden tot nu toe.
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 19:58:08 #88
1972 Swetsenegger
Egocentrische Narcist
pi_31123487
quote:
Op zondag 2 oktober 2005 19:56 schreef Nevermind het volgende:
Kun je niet iets toevoegen aan de pattern zodat ie case insensitive wordt en je het "strtolower"-stukje weg kan laten?
case insensitive preg_replace is geen probleem (ipv /e wordt het /ie), maar... wat doe je dan als de input een hoofdletter is en het een kleine letter moet worden?
pi_31123531
quote:
Op zondag 2 oktober 2005 19:57 schreef Swetsenegger het volgende:
ucfirst maakt van het eerste karakter van een string een hoofdletter.
Ik begrijp je regexp niet
1\w\s?\w?

Woord-karakter, eventuele whitespace, eventueel woord-karakter.

Deze string matched ie telkens (2 bij 2, bij een spatie 3, bij het laatste teken eventueel 1) en dan maakt ie van het eerste teken een uppercase

Dus:

blaat blaat blaat
pi_31123548
Ik kom niet kleiner dan 67 tekens
pi_31123612
quote:
Op zondag 2 oktober 2005 19:58 schreef Swetsenegger het volgende:

[..]

case insensitive preg_replace is geen probleem (ipv /e wordt het /ie), maar... wat doe je dan als de input een hoofdletter is en het een kleine letter moet worden?
Je hebt gelijk, ik zat even mee te denken, maar ik heb veel te weinig ervaring met regexp om iets zinnigs toe te voegen
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 20:01:43 #92
1972 Swetsenegger
Egocentrische Narcist
pi_31123615
quote:
Op zondag 2 oktober 2005 19:59 schreef JeRa het volgende:

[..]
[ code verwijderd ]

Woord-karakter, eventuele whitespace, eventueel woord-karakter.

Deze string matched ie telkens (2 bij 2, bij een spatie 3, bij het laatste teken eventueel 1) en dan maakt ie van het eerste teken een uppercase

Dus:

blaat blaat blaat
Ach fuck, natuurlijk. ? is 0 of 1, dus je $0 wordt letter+letter of letter+spatie+letter, waarbij de eerste van $0 hoofdletter wordt Deze zocht ik al.
pi_31123666
quote:
Op zondag 2 oktober 2005 20:01 schreef Swetsenegger het volgende:

[..]

Ach fuck, natuurlijk. ? is 0 of 1, dus je $0 wordt letter+letter of letter+spatie+letter, waarbij de eerste van $0 hoofdletter wordt Deze zocht ik al.
Maar het is kennelijk niet dé oplossing
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 20:03:21 #94
1972 Swetsenegger
Egocentrische Narcist
pi_31123690
quote:
Op zondag 2 oktober 2005 19:59 schreef Light het volgende:
Ik kom niet kleiner dan 67 tekens
Post je code, misschien krijgen we er nog 5 vanaf om SuperRembo te verslaan
pi_31123758
quote:
Op zondag 2 oktober 2005 19:59 schreef Light het volgende:
Ik kom niet kleiner dan 67 tekens
Die wil ik ook wel zien
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31123797
1<?=preg_replace('/\w/e','++$u%2?$0&~" ":$0|" "',$_POST[string]);

Ik heb er nog 65 van weten te maken
pi_31123854
SuperRembo, klopt het dat jouw code op je site staat?
pi_31124031
quote:
Op zondag 2 oktober 2005 20:07 schreef JeRa het volgende:
SuperRembo, klopt het dat jouw code op je site staat?
Hmmm, ja. Heb 'm weer weggehaald. Had niet verwacht dat dat zo snel gevonden zou worden
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_31124034
quote:
Op zondag 2 oktober 2005 20:06 schreef Light het volgende:

[ code verwijderd ]

Ik heb er nog 65 van weten te maken
Hele mooie oplossing, maar daar kunnen er nog 3 vanaf *niet zegt waar*
  FOK!-Schrikkelbaas zondag 2 oktober 2005 @ 20:21:34 #100
1972 Swetsenegger
Egocentrische Narcist
pi_31124263
quote:
Op zondag 2 oktober 2005 20:06 schreef Light het volgende:

[ code verwijderd ]

Ik heb er nog 65 van weten te maken

Met uitleg graag

1'++$u%2?$0&~" ":$0|" "'

++$u%2
Hier kijk je in ieder geval of iets even is. het 'iets' ontgaat me alleen.
Zoja, dan vervang je door $0&~" " dus het karakter ga je AND'en met tilde spatie
Zo nee, dan vervang je door $0|" " dus het karakter ga je orren met spatie.

[ Bericht 36% gewijzigd door Swetsenegger op 02-10-2005 20:27:08 ]
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')