abonnement Unibet Coolblue Bitvavo
  maandag 3 december 2007 @ 21:26:52 #151
136730 PiRANiA
All thinking men are atheists.
pi_55021178
ik snap eigenlijk nog steeds niet wat classes zijn, wat ze doen en waar ze goed voor zijn...

ik heb ze in 3 jaar nog nooit gebruikt iig...

wie legt het me uit?
  maandag 3 december 2007 @ 21:32:12 #152
107951 JortK
Immer kwaliteitsposts
pi_55021261
quote:
Op maandag 3 december 2007 21:26 schreef PiRANiA het volgende:
ik snap eigenlijk nog steeds niet wat classes zijn, wat ze doen en waar ze goed voor zijn...

ik heb ze in 3 jaar nog nooit gebruikt iig...

wie legt het me uit?
http://nl2.php.net/class is een hele goede om mee te beginnen
  maandag 3 december 2007 @ 21:35:35 #153
84926 WyriHaximus
Release the hounds smithers!
pi_55021343
quote:
Op maandag 3 december 2007 21:32 schreef JortK het volgende:

[..]

http://nl2.php.net/class is een hele goede om mee te beginnen
Daarnaast zijn deze ook erg handig:
http://nl3.php.net/oop (Voor PHP4)
http://nl3.php.net/oop5 (Voor PHP5)
phluphy for president!
  maandag 3 december 2007 @ 23:47:01 #154
529 twi
Het lichtje is uit...
pi_55024427
Ik denk dat ik me daar maar eens flink in ga verdiepen, want dat aanklooien wat ik nu doe werkt wel, maar is gewoon veel te omslachtig inderdaad.
pi_55027632
Ik ben ook pas laat met OOP begonnen in PHP, omdat ik het ook nooit echt nodig had. Pas wanneer ik met ASP/VB.NET ging werken en dus meer object-oriënted ging werken had ik er pas de interesse voor. Kan in ieder geval een hoop werk schelen als je veelgebruikte functies bij elkaar in een class stopt en die bij elk(e) website/project kunt gebruiken. En natuurlijk om een beetje met de tijd mee te gaan.
pi_55032265
quote:
Op maandag 3 december 2007 16:20 schreef JortK het volgende:

[..]
[ code verwijderd ]

Of trim() :?
Ik doelde eingelijk meer op een functie dat van het volgende voorbeeld

1
2
3
4
5
6
7
8
9
10
        $this->language = array("ad"    => "Andorra",
                                "ae"    => "United Arab Emirates",
                                "af"    => "Afghanistan",
                                "ag"    => "Antigua and Barbuda",
                                "ai"    => "Anguilla",
                                "al"    => "Albania",
                                "am"    => "Armenia",
                                "an"    => "Netherlands Antilles",
                                "ao"    => "Angola",
                                "aq"    => "Antarctica",


dit maakt

1
2
3
4
5
6
7
8
9
10
$this->language = array("ad"    => "Andorra",
                        "ae"    => "United Arab Emirates",
                        "af"    => "Afghanistan",
                        "ag"    => "Antigua and Barbuda",
                        "ai"    => "Anguilla",
                        "al"    => "Albania",
                        "am"    => "Armenia",
                        "an"    => "Netherlands Antilles",
                        "ao"    => "Angola",
                        "aq"    => "Antarctica",


Zie het verschil in spaties ;)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55035500
Het makkelijkste is om een bestand te openen en dan regel voor regel in te lezen en te evalueren. Tel het aantal spatie-karakters aan het begin van de regel en verwijder deze indien nodig. Schrijf vervolgens de output terug naar dezelfde regel. Ik neem tenminste aan dat het gaat om een bestand via php automatisch te verwerken en niet in een editor o.i.d.? Er zijn zat editors waar je dat met wat simpele shortcuts kunt doen.
Everything is possible, the impossible just takes longer.
pi_55036901
Hooii lieve vrienden! Heb in mijn mysql database een aantal teksten staan. Deze zijn in vershchillende talen. Het probleem is dat deze de pure teksten zijn dus inclusief alle haakjes en streepjes, niet omgezet naar &..; code. Als ik deze weergeef in mijn browser komen er in Firefox blokjes met vraagtekentjes te staan en in internet explorer kleine vierkantjes. Hoe kan ik dit oplossen. De codering in de database is utf-8- unicode.
Hoe kan ik dit oplossen?
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
  dinsdag 4 december 2007 @ 16:04:03 #159
107951 JortK
Immer kwaliteitsposts
pi_55036926
quote:
Op dinsdag 4 december 2007 16:02 schreef markiemark het volgende:
Hooii lieve vrienden! Heb in mijn mysql database een aantal teksten staan. Deze zijn in vershchillende talen. Het probleem is dat deze de pure teksten zijn dus inclusief alle haakjes en streepjes, niet omgezet naar &..; code. Als ik deze weergeef in mijn browser komen er in Firefox blokjes met vraagtekentjes te staan en in internet explorer kleine vierkantjes. Hoe kan ik dit oplossen. De codering in de database is utf-8- unicode.
Hoe kan ik dit oplossen?
htmlentities?
pi_55036997
quote:
Op dinsdag 4 december 2007 16:04 schreef JortK het volgende:

[..]

htmlentities?
moet daar dan nog iets achter? Zie http://nl2.php.net/manual/en/function.htmlentities.php hier dat er de nodige aanvullingen kunnen zijn..
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
  dinsdag 4 december 2007 @ 16:07:53 #161
107951 JortK
Immer kwaliteitsposts
pi_55037018
quote:
Op dinsdag 4 december 2007 16:06 schreef markiemark het volgende:

[..]

moet daar dan nog iets achter? Zie http://nl2.php.net/manual/en/function.htmlentities.php hier dat er de nodige aanvullingen kunnen zijn..
Probeer eerst maar gewoon eens

1
2
3
<?php
htmlentities
($string);
?>
pi_55037058
quote:
Op dinsdag 4 december 2007 16:07 schreef JortK het volgende:

[..]

Probeer eerst maar gewoon eens
[ code verwijderd ]
Er zit ook html in de database.. Die wordt dan ook omgezet naar tekst.. en das niet de bedoeling..
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_55038052
Je HTML pagina ook als UTF-8 coderen helpt niet?
pi_55044457
Tnx Aquaatje, ik zal even een routine schrijven.

Iets anders. Voor mijn statistieken script sla ik nu continue de 'zoekwoorden' appart op, is dit handig of is het handiger om gewoon de zoek zinnen op te slaan?

Anyone?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55044651
Ligt er een beetje aan wat je vervolgens met die zoekwoorden wil gaan doen. Wil je kijken wel woord afzonderlijk het meeste voor komt, dan kun je ze apart opslaan. Maar wil je ook relaties tussen zoekwoorden weten, dan moet je weer andere dingen bijhouden.
pi_55045056
quote:
Op dinsdag 4 december 2007 16:02 schreef markiemark het volgende:
Hooii lieve vrienden! Heb in mijn mysql database een aantal teksten staan. Deze zijn in vershchillende talen. Het probleem is dat deze de pure teksten zijn dus inclusief alle haakjes en streepjes, niet omgezet naar &amp;amp;amp;..; code. Als ik deze weergeef in mijn browser komen er in Firefox blokjes met vraagtekentjes te staan en in internet explorer kleine vierkantjes. Hoe kan ik dit oplossen. De codering in de database is utf-8- unicode.
Hoe kan ik dit oplossen?
Als je met utf-8 wil werken moet *alles* utf-8 zijn, niet alleen je database. Dus zorgen dat je pagina ook in utf-8 is (meta content-type tag goed zetten en vooral ook zorgen dat utf-8 als content-type in de page headers wordt meegestuurd) en in php zorgen dat de mbstring extentie is geinstalleerd en alleen de utf-8 veilige functies gebruiken. Alle standaard string functies zoals strlen etc raken in de war van utf-8 en geven verkeerde resultaten als je niet expliciet instelt dat de utf-8 versie gebruikt moet worden, dus bijv door mb_strlen te gebruiken ipv strlen.
pi_55052921
quote:
Op dinsdag 4 december 2007 21:48 schreef Farenji het volgende:

[..]

Als je met utf-8 wil werken moet *alles* utf-8 zijn, niet alleen je database. Dus zorgen dat je pagina ook in utf-8 is (meta content-type tag goed zetten en vooral ook zorgen dat utf-8 als content-type in de page headers wordt meegestuurd) en in php zorgen dat de mbstring extentie is geinstalleerd en alleen de utf-8 veilige functies gebruiken. Alle standaard string functies zoals strlen etc raken in de war van utf-8 en geven verkeerde resultaten als je niet expliciet instelt dat de utf-8 versie gebruikt moet worden, dus bijv door mb_strlen te gebruiken ipv strlen.
Dat is dus eigenlijk niet te doen.. met htmlentities() werkt het ook niet omdat dan de html code ook wordt omgezet.. hoe kan ik er voor zorgen dat de tekens wel om worden gezet, maar de html niet?
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
  woensdag 5 december 2007 @ 11:30:29 #168
107951 JortK
Immer kwaliteitsposts
pi_55053497
quote:
Op woensdag 5 december 2007 11:03 schreef markiemark het volgende:

[..]

Dat is dus eigenlijk niet te doen.. met htmlentities() werkt het ook niet omdat dan de html code ook wordt omgezet.. hoe kan ik er voor zorgen dat de tekens wel om worden gezet, maar de html niet?
Dat wordt volgens mij een lastig verhaal
pi_55053893
Gooi anders eens alles om naar ISO-8859-1 / ISO-8859-15, ik heb deze altijd aangehouden en nooit problemen gehad m.b.t. speciale karakters.
pi_55054629
quote:
Op dinsdag 4 december 2007 21:32 schreef HuHu het volgende:
Ligt er een beetje aan wat je vervolgens met die zoekwoorden wil gaan doen. Wil je kijken wel woord afzonderlijk het meeste voor komt, dan kun je ze apart opslaan. Maar wil je ook relaties tussen zoekwoorden weten, dan moet je weer andere dingen bijhouden.
Tja, dat is en blijft de vraag hé.

Maar zou jij relaties leggen? of juist niet?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 5 december 2007 @ 12:45:52 #171
107951 JortK
Immer kwaliteitsposts
pi_55055313
quote:
Op woensdag 5 december 2007 12:15 schreef Chandler het volgende:

[..]

Tja, dat is en blijft de vraag hé.

Maar zou jij relaties leggen? of juist niet?
Ik ben altijd ervoor om je database relationeel te houden.

Zo heb je later ook de mogelijkheid om makkelijker zaken 1:n te maken zonder te veel te hoeven kloten
pi_55056418
quote:
Op dinsdag 4 december 2007 21:21 schreef Chandler het volgende:
Tnx Aquaatje, ik zal even een routine schrijven.
En hier istie dan, als iemand er nog nut voor ziet

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
<?php
    
function checkSpaces($in)
    {
        
$inNew explode("\n"$in);
        
        
$inItems count($inNew);
        
$inMin   1000;
        
        for (
$x 0$x $inItems$x++)
        {
            for (
$y 0$y strlen($inNew[$x]); $y++)
            {
                if (
substr($inNew[$x], $y1) != " ")
                {
                    
$inMin $y;
                    break;
                }
            }
        }
        
        return 
$inMin;
    }
    
    function 
removeSpaces($in$remove)
    {
        
$inNew explode("\n"$in);

        
$inItems count($inNew);
        
        for (
$x 0$x $inItems$x++)
        {
            
$inNew[$x] = substr($inNew[$x], $removestrlen($inNew[$x]) - $remove);
        }
        
        return 
implode("\n"$inNew);
    }
    


$str "    hello world
    moi
       hoi
         lol
            test
         test
       test
    tes"
;
    

<
h2>Original</h2>
<
pre>


echo 
checkSpaces($str);

echo 
"\r\n" $str;

</
pre>
<
h2>Altered</h2>
<
pre>

echo 
removeSpaces($strcheckSpaces($str));

</
pre>
?>


als het sneller kan wil ik dit ook wel horen

[ Bericht 42% gewijzigd door Chandler op 05-12-2007 13:58:44 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55057235
quote:
Op woensdag 5 december 2007 13:35 schreef Chandler het volgende:

[..]

En hier istie dan, als iemand er nog nut voor ziet
[ code verwijderd ]

als het sneller kan wil ik dit ook wel horen
Het kan in ieder geval ietsje korter . Qua snelheid zou de volgende het denk ik moeten winnen, maar niet omdat het écht efficienter is.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
function ltrimSpaceColumns($in) {
    if(
preg_match_all('|^ +|m'$in$matches)) {
        
$min 0x7fffffff;
        foreach(
$matches[0] as $match) {
            if((
$newMin strlen($match)) < $min) {
                
$min $newMin;
            }
        }
        if(
$min 0) {
            
$in preg_replace('|^ {'.$min.'}|m'''$in);
        }
    }
    return 
$in;
}
?>

Als het overigens relatief vaak voorkomt dat een stuk tekst geen 'spatie kolom' heeft, dan zou jouw aanpak een stuk sneller kunnen worden (en zijn dan deze) wanneer je stopt met zoeken bij het vinden van een regel met $inMin == 0.

[ Bericht 27% gewijzigd door autocue op 05-12-2007 14:20:12 ]
pi_55066691
Een enorm simpele vraag...

Ik ben bezig een query op te bouwen zodat ik een tekstueele representatie krijg van de laatste 5 acties van elke tabel / tabellengroep. Een voorbeeld:

1
2
3
4
5
6
7
8
9
10
11
SELECT CONCAT('New client: ',c.Name) AS Description, c.DateAdded AS Date
FROM client AS c
WHERE c.DateAdded != 0
ORDER BY c.DateAdded DESC
LIMIT ".$max." 

SELECT CONCAT('Updated client: ',c.Name) AS Description, c.DateUpdated AS Date
FROM client AS c
WHERE c.DateUpdated != 0
ORDER BY c.DateUpdated DESC
LIMIT ".$max." 


Hoe krijg ik dit in PHP mogelijk? Ik wil dus alle 15 queries in één keer runnen en alle records in hetzelfde resultset krijgen.

Ik kan natuurlijk in een loop gaan werken, maar ik vind het het mooist om zo veel als mogelijk in de query te doen, en dat in één keer in een array te stoppen. Of kan dit niet?
pi_55068642
Maak er 1 query van:

1
2
3
4
5
6
7
8
SELECT 
CONCAT('New client: ',c1.Name) AS DescriptionNew, c1.DateAdded,
CONCAT('Updated client: ',c2.Name) AS DescriptionUpdated, c2.DateUpdated,
CONCAT('Bladiebla client: ',c3.Name) AS DescriptionBladiebla, c3.DateBladiebla
FROM client AS c1, client AS c2, client AS c3
WHERE c1.DateAdded != 0 AND c2.DateUpdated != 0 AND c3.DateBladiebla != 0
ORDER BY c.DateAdded DESC, c2.DateUpdated DESC, c3.DateBladiebla DESC
LIMIT $max
pi_55068783
Dat is mogelijk, echter zijn het vijftien queries, met ieder weer één a twéé joins. Dat word te veel rotzooi, nog minder mooi dan alle queries in een array en ze langs te gaan.
pi_55069000
quote:
Op woensdag 5 december 2007 21:59 schreef Geqxon het volgende:
Een enorm simpele vraag...
Zoiets?

1
2
3
4
5
SELECT c.Name, c.DateAdded, c.DateUpdated
FROM client AS c
WHERE c.DateAdded != 0 OR c.DateUpdated != 0
ORDER BY (CASE c.DateUpdated WHEN 0 THEN c.DateAdded ELSE c.DateAdded END) DESC
LIMIT ".$max." 


Warom zijn die datum niet gewoon NULL als er geen datum in staat? (Dan kan je ook gewoon IFNULL gebruiken in plaats van die CASE).
Zijn er ook clients die niet toegevoegd zijn (DateAdded = 0)? :?
Is het niet handiger om de DateUpdated bij het toevoegen gelijk te maken aan DateAdded? (Dat sorteert makkelijker en sneller)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_55069097
quote:
Op woensdag 5 december 2007 23:25 schreef SuperRembo het volgende:

[..]

Zoiets?
[ code verwijderd ]

Warom zijn die datum niet gewoon NULL als er geen datum in staat? (Dan kan je ook gewoon IFNULL gebruiken in plaats van die CASE).
Zijn er ook clients die niet toegevoegd zijn (DateAdded = 0)?
Is het niet handiger om de DateUpdated bij het toevoegen gelijk te maken aan DateAdded? (Dat sorteert makkelijker en sneller)
Er zijn clients zonder aanmaakdatum, dit is uit een oude systeemmigratie. Om deze uit het logboek te vermijden staat er deze CASE bij.

DateUpdated en DateAdded zijn twee verschillende eigenschappen, en wil ik ook zo in het logboek terug zien. Added voor het toevoegen van het record, updated voor het wijzigen van het record. Wanneer ik deze samen voeg kan ik niet én de laatste vijf toegevoegde clients én de laatste vijf gewijzigde clients tonen. Correct me if I'm wrong.
pi_55069120
Ongetest:
zorg dat in elke query de kolomnamen hetzelfde zijn en zet alle queries onderaan in 1 string, gescheiden door puntkomma.Voor deze string uit. Als het goed is heb je dan alles in 1 recordset.
pi_55069886
quote:
Op woensdag 5 december 2007 23:31 schreef Farenji het volgende:
Ongetest:
zorg dat in elke query de kolomnamen hetzelfde zijn en zet alle queries onderaan in 1 string, gescheiden door puntkomma.Voor deze string uit. Als het goed is heb je dan alles in 1 recordset.
Dan moet je gewoon een union / union all gebruiken.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  donderdag 6 december 2007 @ 00:14:46 #181
37634 wobbel
Da WoBBeL King
pi_55069938
Zucht, ik krijg de laatste tijd steeds een 75 jarige man in de winkel die allerlei dingen vraagt over PHP ... werk in een computer winkel, ben geen PHP helpdesk

Kan ik hem niet naar dit topic doorverwijzen?

Hoeft ie bij ons ook de balie niet meer onder te kwijlen, wat ie nu al 2x heeft gedaan
pi_55069956
quote:
Op woensdag 5 december 2007 23:31 schreef Farenji het volgende:
Ongetest:
zorg dat in elke query de kolomnamen hetzelfde zijn en zet alle queries onderaan in 1 string, gescheiden door puntkomma.Voor deze string uit. Als het goed is heb je dan alles in 1 recordset.
quote:
Op donderdag 6 december 2007 00:12 schreef SuperRembo het volgende:

[..]

Dan moet je gewoon een union / union all gebruiken.
Top! Union was exact wat ik zocht. Dank u.

En ja, in de resultset gebruik ik altijd dezelfde kolomnamen: Description en Date.
pi_55070207
quote:
Op woensdag 5 december 2007 21:59 schreef Geqxon het volgende:

Ik kan natuurlijk in een loop gaan werken, maar ik vind het het mooist om zo veel als mogelijk in de query te doen, en dat in één keer in een array te stoppen. Of kan dit niet?
Als je zowel de laatste 5 toevoegingen en de laatste 5 wijzigingen wilt zien dan heb je minimaal 2 queries nodig, omdat je niet kunt sorteren op 2 dingen. Als je een toevoeging ook als een wijziging beschouwt (en bij toevoegen dus wijzigdatum en toevoegdatum gelijk maakt) dan kun je met 1 query toe.

Hoe je bij 15 queries komt is me niet helemaal duidelijk.
pi_55070364
quote:
Op donderdag 6 december 2007 00:31 schreef Light het volgende:

[..]

Als je zowel de laatste 5 toevoegingen en de laatste 5 wijzigingen wilt zien dan heb je minimaal 2 queries nodig, omdat je niet kunt sorteren op 2 dingen. Als je een toevoeging ook als een wijziging beschouwt (en bij toevoegen dus wijzigdatum en toevoegdatum gelijk maakt) dan kun je met 1 query toe.

Hoe je bij 15 queries komt is me niet helemaal duidelijk.
Het totaalproduct, mocht dat het duidelijker maken. Het product van drie (in de applicatie vijftien) verschillende queries:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
+-----------------------------------+------------+
| Description                       | Date       |
+-----------------------------------+------------+
| Added client x to company y       | 05-12-2007 |
| Added client a to company y       | 04-12-2007 |
| Added client d to company y       | 03-12-2007 |
| Added client c to company y       | 02-12-2007 |
| Added client b to company z       | 02-12-2007 |
| Added company y                   | 01-12-2007 |
| Added company ...                 | 30-10-2007 |
| Added company ...                 | 30-10-2007 |
| Added company ...                 | 11-07-2007 |
| Added company ...                 | 05-03-2007 |
| Changed information on company y  | 02-12-2007 |
+-----------------------------------+------------+


Dus de laatste vijf van elke soort actie. Met de union kan ik het nu eventueel alles door elkaar gooien en op de kolom Date sorteren, al heb ik dat liever niet.

Dit is overigens puur als extra zodat de eindgebruiker bij een foutieve invoer kan kijken waar hij de klant per ongeluk aan toegevoegd heeft. (Nogmaals: Als voorbeeld, dit is namelijk wel afgehandeld in de applicatie zelf).
pi_55073869
Misschien een domme vraag :

Ik wil met een query een soort van rapport opbouwen met gegevens die in een formulier zijn ingevuld. Nu is het zo dat als er een optie niet geselecteerd wordt deze niet in de query moet worden meegenomen. Dit is de query:

1
2
3
4
<?php
$query 
mysql_query("SELECT * FROM vrijwilligers_gegevens WHERE YEAR(datum) = YEAR('$jaar') AND geslacht = '$geslacht'
AND nationaliteit = '$nationaliteit' AND YEAR(geboortedatum) = YEAR('$geboortedatum')"
);
?>


dus als bijv. geslacht niet is ingevuld moet de query dus alle geslachten uit de database selecteren. Er komen nog meer opties in , dus het liefst heb ik alles in 1 query.
pi_55073970
1
2
3
4
5
6
7
8
9
<?php
if(isset($year)){
   
$query_where.=" AND year(datum)='".mysql_real_escape_string($year)."'";
}
if(isset(
$geslacht)){
   
$query_where.=" AND geslacht='".mysql_real_escape_string($geslacht)."'";
}
$query=mysql_query("SELECT * FROM vrijwilligers_gegevens WHERE bla=bla".$query_where);
?>


[ Bericht 26% gewijzigd door Tuvai.net op 06-12-2007 14:03:25 ]
pi_55074068
pi_55074202
pi_55076204
quote:
Op woensdag 5 december 2007 14:13 schreef autocue het volgende:

[..]

Het kan in ieder geval ietsje korter . Qua snelheid zou de volgende het denk ik moeten winnen, maar niet omdat het écht efficienter is.
[ code verwijderd ]

Als het overigens relatief vaak voorkomt dat een stuk tekst geen 'spatie kolom' heeft, dan zou jouw aanpak een stuk sneller kunnen worden (en zijn dan deze) wanneer je stopt met zoeken bij het vinden van een regel met $inMin == 0.
Klopt, die van mij had nog iets beter gekund
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  donderdag 6 december 2007 @ 13:04:12 #190
84926 WyriHaximus
Release the hounds smithers!
pi_55076604
quote:
Op donderdag 6 december 2007 11:03 schreef Farenji het volgende:
[ link | afbeelding ]
die is en blijft goed !
phluphy for president!
pi_55077405
quote:
Op donderdag 6 december 2007 10:58 schreef Tuvai.net het volgende:

[ code verwijderd ]
bedankt
pi_55085666
quote:
Op woensdag 5 december 2007 14:13 schreef autocue het volgende:

[..]

Het kan in ieder geval ietsje korter :P. Qua snelheid zou de volgende het denk ik moeten winnen, maar niet omdat het écht efficienter is.
[ code verwijderd ]

Als het overigens relatief vaak voorkomt dat een stuk tekst geen 'spatie kolom' heeft, dan zou jouw aanpak een stuk sneller kunnen worden (en zijn dan deze) wanneer je stopt met zoeken bij het vinden van een regel met $inMin == 0.
Vraagje; hoe zou je kunnen controlleren of een regel leeg is? in de zin van er zit een enter in je code

(voorbeeld)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$str = "    hello world
    moi
       hoi
         lol
            test
         test
       test
    tes

    hello world
    moi
       hoi
         lol
            test
         test
       test
    tes";


Nu zie je opeens een 'lege' regel.. die moet je dus overslaan? maar hoe kan ik die afvangen? :D

";
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55086375
Matchen op een dubbele \n, dus \n\n.
pi_55086587
quote:
Op donderdag 6 december 2007 20:47 schreef HuHu het volgende:
Matchen op een dubbele \n, dus \n\n.
Wat dan als er alleen een spatie op een regel staat, dan matcht ie al niet meer maar het is wel een lege regel.

Gewoon per regel testen met de regexp /^\s*\n$/
pi_55089642
quote:
Op woensdag 5 december 2007 11:30 schreef JortK het volgende:

[..]

Dat wordt volgens mij een lastig verhaal
Ik heb uit mijn css een regeltje bovenaan weggehaald waar iets over utf-8 stond.. Dat heb ik er uit gehaald. Nu zie ik geen problemen meer.

Het rare is dat hij hem soms wel goed weer geeft, en soms met rare vraagtekentjes (FF) of blokjes (IE). Er veranderd ondertussen niks in de database of in de html..
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_55091998
quote:
Op donderdag 6 december 2007 20:17 schreef Chandler het volgende:

[..]

Vraagje; hoe zou je kunnen controlleren of een regel leeg is? in de zin van er zit een enter in je code

(voorbeeld)
[ code verwijderd ]

Nu zie je opeens een 'lege' regel.. die moet je dus overslaan? maar hoe kan ik die afvangen?

";
Door (bijvoorbeeld ) te forceren dat de matches waarbij de lengte van de whitespace gecheckt wordt niet enkel whitespace is. Er zal dus een niet whitespace karakter moeten volgen na de spaties, dus alleen de regex zal aangepast moeten worden en er moet verwezen worden naar een andere matching groep (namelijk die voor de spaties). Zoals volgt ongeveer .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
function ltrimSpaceColumns($in) {
    if(
preg_match_all('|^( *)\S|m'$in$matches)) {
        
$min 0x7fffffff;
        while((
$pair each($matches[1])) && $min 0) {
            if((
$newMin strlen($pair[1])) < $min) {
                
$min $newMin;
            }
        }
        if(
$min 0) {
            
$in preg_replace('|^ {'.$min.'}|m'''$in);
        }
    }
    return 
$in;
}
?>
pi_55094681
quote:
Op vrijdag 7 december 2007 00:41 schreef autocue het volgende:

[..]

Door (bijvoorbeeld ) te forceren dat de matches waarbij de lengte van de whitespace gecheckt wordt niet enkel whitespace is. Er zal dus een niet whitespace karakter moeten volgen na de spaties, dus alleen de regex zal aangepast moeten worden en er moet verwezen worden naar een andere matching groep (namelijk die voor de spaties). Zoals volgt ongeveer .
[ code verwijderd ]
Werkt idd helemaal perfect, nu heb ik nog 1 andere vraag.

Voor een site van mij wil ik scripts toevoegen en deze net zoals op FOK met code highlight aan gebruikers laten zien. Echter copy en plak ik ook wel eens functies waarbij dus geen <?php en ?> voor en na staan. Deze wil ik dus graag toevoegen maar dat gaat steeds fout m.b.t. een controle.

Nu vraag ik niet om code; maar meer om het idee, hoe kan ik het beste checken of deze aan het begin/end staan.
$start = "<?php";
$end = "?>";

Nu doe ik substr($str, 0, strlen($start)) en controlleer het met $start (!=) en doe het zelfde met end, maar dan op het eind. Echter krijg ik toch steeds een dubbele <?php etc als ik de code opsla!

Anyone?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 7 december 2007 @ 09:47:02 #198
159635 Spike1506
NullPointerException
pi_55095176
* Spike1506 mompelt iets over regular-expressions.
pi_55096187
* Chandler verstopt zich, snapt amper een bal van regex...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_55096770
quote:
Op vrijdag 7 december 2007 10:37 schreef Chandler het volgende:
* Chandler verstopt zich, snapt amper een bal van regex...
Daar zou ik dan maar eens wat aan doen, een programmeur kan niet zonder.
Er zijn zat tutorials te vinden.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')