abonnement Unibet Coolblue
  FOK!mycroftheld zaterdag 31 oktober 2015 @ 20:17:45 #91
128465 verified  bondage
niet meer aanwezig op FOK!
pi_157229925
quote:
1s.gif Op zaterdag 31 oktober 2015 20:11 schreef Monolith het volgende:

[..]

Sphinx ken ik niet echt als search engine, maar heeft die niet net als bijvoorbeeld ElastisSearch en SOLR gewoon filtermogelijkheden op de gevoede data?
Het is bij Sphinx mogelijk om gebruik te maken van een xml pipe. Dan kan ik de data zelf aan de indexer voeden vanuit een php script. Dit is echter zeer traag en daarom geen optie. Helaas is het maar een simpele server en als er heel veel tegelijk uitgevoerd moet worden vertraagt de boel.
pi_157230201
quote:
14s.gif Op zaterdag 31 oktober 2015 20:17 schreef bondage het volgende:

[..]

Het is bij Sphinx mogelijk om gebruik te maken van een xml pipe. Dan kan ik de data zelf aan de indexer voeden vanuit een php script. Dit is echter zeer traag en daarom geen optie. Helaas is het maar een simpele server en als er heel veel tegelijk uitgevoerd moet worden vertraagt de boel.
Is zoiets geen optie?
https://github.com/hholzgra/mysql-udf-regexp

Als je tenminste UDFs kunt gebruiken op je server.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
  FOK!mycroftheld zaterdag 31 oktober 2015 @ 20:30:38 #93
128465 verified  bondage
niet meer aanwezig op FOK!
pi_157230295
quote:
1s.gif Op zaterdag 31 oktober 2015 20:27 schreef Monolith het volgende:

[..]

Is zoiets geen optie?
https://github.com/hholzgra/mysql-udf-regexp

Als je tenminste UDFs kunt gebruiken op je server.
Dank, ga ik even checken. Het is mijn eigen server, denk dat ik die mogelijkheid wel heb. En anders creëer ik deze (8>

Heb echter nog niet eerder iets met UDFs gedaan dus even uitzoeken hoe en wat.
pi_157277098
Ik heb een bestan met op elke lijn 2 of meerdere bestandsnamen. Deze zijn gescheiden door een spatie en spaties in bestandsnamens geescaped. (Voor de nieuwsgierigen, output van fdupes -1 -r -S ./)

Ik wil deze lijnen met preg_split splitten, maar ik breek m'n hersens over hoe ik met die escaped spatie om moet gaan. Hoe krijg ik dit voor elkaar?

Zelfs $files = str_getcsv($line," ","","\\"); biedt geen uitkomst.. (Waarom herkent ie de backslashes niet?)

[ Bericht 14% gewijzigd door Keiichi op 02-11-2015 21:11:04 ]
pi_157279732
spaties matchen op [^\\]\s ?
pi_157285270
quote:
0s.gif Op maandag 2 november 2015 20:36 schreef Keiichi het volgende:
Ik heb een bestan met op elke lijn 2 of meerdere bestandsnamen. Deze zijn gescheiden door een spatie en spaties in bestandsnamens geescaped. (Voor de nieuwsgierigen, output van fdupes -1 -r -S ./)

Ik wil deze lijnen met preg_split splitten, maar ik breek m'n hersens over hoe ik met die escaped spatie om moet gaan. Hoe krijg ik dit voor elkaar?

Zelfs $files = str_getcsv($line," ","","\\"); biedt geen uitkomst.. (Waarom herkent ie de backslashes niet?)
Zoiets?
1
2
3
4
5
<?php 
$s 
'123.php 456\ 789.php ab\ c\ def.php';
$a preg_split'~(?<!\\\)\\s~'$s ); 
print_r($a); 
?>
1
2
3
4
5
6
Array
(
    [0] => 123.php
    [1] => 456\ 789.php
    [2] => ab\ c\ def.php
)
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  FOK!mycroftheld zaterdag 7 november 2015 @ 14:14:37 #97
128465 verified  bondage
niet meer aanwezig op FOK!
pi_157380875
Ik zit met een regex probleempje en aangezien ik nogal faal als het aankomt op reguliere expressies kom er niet uit ;(

Wat ik wil is plaatjes uit posts filteren, echter moeten plaatjes met een bepaalde class wel blijven staan.

Dit moet blijven:
1<img class="rde_img_smiley" src="http://i.fok.nl/s/clown.gif" width="15" height="15" alt=":+" />

Dit moet weg:
1<img data-src="http://www.voorbeeld.com/bla.jpg" style="visibility:hidden;" />

Ik gebruik deze regex maar die haalt alle afbeeldingen weg:

1
2
3
<?php
$result 
preg_replace('/<img(?<!class="rde_img_smiley")[^>]+\>/i'"[afbeelding verwijderd]"$post_contents);
?>

Iemand idee hoe dit op te lossen?
pi_157385040
quote:
11s.gif Op zaterdag 7 november 2015 14:14 schreef bondage het volgende:
Ik zit met een regex probleempje en aangezien ik nogal faal als het aankomt op reguliere expressies kom er niet uit ;(

Wat ik wil is plaatjes uit posts filteren, echter moeten plaatjes met een bepaalde class wel blijven staan.

Dit moet blijven:
[ code verwijderd ]

Dit moet weg:
[ code verwijderd ]

Ik gebruik deze regex maar die haalt alle afbeeldingen weg:
[ code verwijderd ]

Iemand idee hoe dit op te lossen?
Some people, when confronted with a problem, think
“I know, I'll use regular expressions.” Now they have two problems. (bron / meer info)

Ik zou DOMDocument gebruiken, in combinatie met DOMNode::removeChild() (die je gewoon hebt, want DOMDocument extends DOMNode).
  Moderator / Redactie Sport zaterdag 7 november 2015 @ 18:22:45 #99
359864 crew  Nattekat
De roze zeekat
pi_157385295
Als je al RE's wilt gebruiken, dan hoef je enkel te kijken of de string 'class=*"rde_smiley"' (niet) bevat.

Dus .*(class\=).*(\"rde_smiley\").*
100.000 katjes
Maakte de 100.000e post in BIT
Er eens op uit?
pi_157385441
quote:
0s.gif Op zaterdag 7 november 2015 18:22 schreef Nattekat het volgende:
Als je al RE's wilt gebruiken, dan hoef je enkel te kijken of de string 'class=*"rde_smiley"' (niet) bevat.

Dus .*(class\=).*(\"rde_smiley\").*
En dan moet je er nog rekening mee houden dat die class kan worden voorafgegaan en/of gevolgd door een andere class. En dat een afbeelding zonder die class gevolgd kan worden door een met die class, dan moet je wel de goede afbeelding verwijderen. En over een half jaar moet je ook nog snappen wat de regex doet (ook als het er niet in commentaar bij staat).
  Moderator / Redactie Sport zaterdag 7 november 2015 @ 18:37:45 #101
359864 crew  Nattekat
De roze zeekat
pi_157385533
quote:
0s.gif Op zaterdag 7 november 2015 18:32 schreef Light het volgende:

[..]

En dan moet je er nog rekening mee houden dat die class kan worden voorafgegaan en/of gevolgd door een andere class. En dat een afbeelding zonder die class gevolgd kan worden door een met die class, dan moet je wel de goede afbeelding verwijderen. En over een half jaar moet je ook nog snappen wat de regex doet (ook als het er niet in commentaar bij staat).
Dit is dan per DOM-element (wat sowieso al een aanrader is om te doen), even niet helemaal goed naar de vraag gekeken. In zo'n hele post is het bijna geen doen meer om nog een RE te gebruiken idd.
100.000 katjes
Maakte de 100.000e post in BIT
Er eens op uit?
pi_157385593
In het soort 'niet gevolgd door' scenario's gebruik je in regular expressions doorgaans negative lookahead:
http://regular-expressions.mobi/lookaround.html
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
  FOK!mycroftheld zaterdag 7 november 2015 @ 18:46:09 #103
128465 verified  bondage
niet meer aanwezig op FOK!
pi_157385697
quote:
0s.gif Op zaterdag 7 november 2015 18:03 schreef Light het volgende:

[..]

Some people, when confronted with a problem, think
“I know, I'll use regular expressions.” Now they have two problems. (bron / meer info)

Ik zou DOMDocument gebruiken, in combinatie met DOMNode::removeChild() (die je gewoon hebt, want DOMDocument extends DOMNode).
Dank, dat had ik zelf ook wel kunnen bedenken natuurlijk 8)7
pi_157386103
Vraagje, stel je hebt een formulier met gebruikersnaam en wachtwoord.

Beide elementen moeten voldoen aan veel eisen.

Naam ; minimaal 6, maximaal 30 tekens. Geen spaties en bepaalde karakters, Geen herhalingen van letters (3x een e achter elkaar bv). En minimaal 1 hoofdletter.
Wachtwoord: minimaal 6, maximaal 30 tekens. Geen spaties. Minimaal 1 teken, 1 cijfer en 1 hoofdletter.

Hoe ga je om met gevonden fouten als je het formulier controleert??
Just say hi!
pi_157386390
quote:
0s.gif Op zaterdag 7 november 2015 19:08 schreef Chandler het volgende:
Vraagje, stel je hebt een formulier met gebruikersnaam en wachtwoord.

Beide elementen moeten voldoen aan veel eisen.

Naam ; minimaal 6, maximaal 30 tekens. Geen spaties en bepaalde karakters, Geen herhalingen van letters (3x een e achter elkaar bv). En minimaal 1 hoofdletter.
Wachtwoord: minimaal 6, maximaal 30 tekens. Geen spaties. Minimaal 1 teken, 1 cijfer en 1 hoofdletter.

Hoe ga je om met gevonden fouten als je het formulier controleert??
Met zoveel eisen zou ik aan de voorkant met javascript sowieso realtime een "checklist" afvinken terwijl de gebruiker typt.

Wanneer een formulier foutief wordt gepost zou ik deze zelfde checklist natuurlijk weer zo actueel mogelijk bijwerken ondersteund met een lijstje van meldingen waarom de huidige input fout is.

Dit lijkt mij vrij standaard.
pi_157388523
quote:
0s.gif Op zaterdag 7 november 2015 19:08 schreef Chandler het volgende:
Vraagje, stel je hebt een formulier met gebruikersnaam en wachtwoord.

Beide elementen moeten voldoen aan veel eisen.

Naam ; minimaal 6, maximaal 30 tekens. Geen spaties en bepaalde karakters, Geen herhalingen van letters (3x een e achter elkaar bv). En minimaal 1 hoofdletter.
Wachtwoord: minimaal 6, maximaal 30 tekens. Geen spaties. Minimaal 1 teken, 1 cijfer en 1 hoofdletter.
Waarom maximaal 30 tekens en geen spaties voor een wachtwoord? Als het goed is, sla je ze toch goed gehashed op en dan maken spaties en het aantal tekens niet zo heel veel uit.
pi_157391948
quote:
11s.gif Op zaterdag 7 november 2015 18:46 schreef bondage het volgende:

[..]

Dank, dat had ik zelf ook wel kunnen bedenken natuurlijk 8)7
Ik heb ondertussen ook even geprobeerd dit op te lossen en er zijn een paar punten waar je rekening mee moet houden. Dit is mijn oplossing:
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
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
class FokDemo
{
    
/** @var DOMDocument */
    
private $document;

    
/**
     * FokDemo constructor.
     */
    
public function __construct()
    {
        
$this->document = new DOMDocument();
        
$this->document->preserveWhiteSpace true;
    }

    
/**
     * @param string $content
     */
    
public function setContent($content)
    {
        @
$this->document->loadHTML($content);
    }

    
/**
     * @return string
     */
    
public function getContent()
    {
        return 
$this->document->saveHTML();
    }

    
/**
     * @param string $tagName
     * @param array $exceptWithClass
     *
     * @return int The number of removed items
     */
    
public function removeElements($tagName, array $exceptWithClass = array())
    {
        
$removed 0;

        
$doc $this->document;

        
// This list is dynamic. Any change in the document will immediately be reflected here
        
$nodes $doc->getElementsByTagName($tagName);

        for (
$nodeIndex $nodes->length 1$nodeIndex >= 0$nodeIndex--) {
            
$node $nodes->item($nodeIndex);
            if (
$this->shouldNodeBeRemoved($node$exceptWithClass)) {
                
$parent $node->parentNode;
                
$parent->removeChild($node);
                
$removed++;
            }
        }

        return 
$removed;
    }

    
/**
     * @param DOMNode $node
     * @param array $exceptWithClass
     *
     * @return bool
     */
    
private function shouldNodeBeRemoved($node, array $exceptWithClass)
    {
        if (
$exceptWithClass === array()) {
            
$result true;
        } else {
            
$classAttribute $node->attributes->getNamedItem('class');
            if (
$classAttribute instanceof DOMAttr) {
                
$classNames explode(' '$classAttribute->value);

                
$result array_intersect($exceptWithClass$classNames) === array();
            } else {
                
$result true;
            }
        }

        return 
$result;
    }
}
?>
  FOK!mycroftheld zondag 8 november 2015 @ 06:52:31 #108
128465 verified  bondage
niet meer aanwezig op FOK!
pi_157395524
quote:
0s.gif Op zaterdag 7 november 2015 22:58 schreef Light het volgende:

[..]

Ik heb ondertussen ook even geprobeerd dit op te lossen en er zijn een paar punten waar je rekening mee moet houden. Dit is mijn oplossing:
[ code verwijderd ]

Dankje _O_ Ik wou er vandaag even mee aan de slag en dit komt goed van pas, hoef ik het zelf niet uit te zoeken.
pi_157395826
quote:
0s.gif Op zaterdag 7 november 2015 20:46 schreef Light het volgende:
Waarom maximaal 30 tekens en geen spaties voor een wachtwoord? Als het goed is, sla je ze toch goed gehashed op en dan maken spaties en het aantal tekens niet zo heel veel uit.
Was even een voorbeeld.
De ene keer geef je aan dat een element te kort of te lang is, een missende teken of andere problemen heeft, mijn huidige manier is dat ik alles meld, dus alle mogelijke fouten.

Maar goed, misschien dat mensen dit op verschillende manieren aanpakken.

Javascript check doen we niet aan :@
Just say hi!
  zondag 8 november 2015 @ 11:00:57 #110
230788 n8n
Pragmatisch
pi_157396936
Alleen de relevante fouten natuurlijk. Het liefst realtime (JS) en met propere feedback voor het input veld.

Bij wachtwoorden moet je minimaal 8 karakters doen en voorkomen dat men bij wijzigen een eerder gebruikt wachtwoord instelt. Alle verdere eisen zijn alleen maar irritant.


En waarom in godsnaam zulke eisen voor een naam.
Specialization is for insects”.—Robert Heinlein
pi_157397018
Sterker nog, als je dergelijke uitgebreide eisen hanteert kun je doorgaans beter gewoon zelf de wachtwoorden genereren.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
  FOK!mycroftheld zondag 8 november 2015 @ 12:28:20 #112
128465 verified  bondage
niet meer aanwezig op FOK!
pi_157398125
quote:
0s.gif Op zaterdag 7 november 2015 22:58 schreef Light het volgende:

[..]

Ik heb ondertussen ook even geprobeerd dit op te lossen en er zijn een paar punten waar je rekening mee moet houden. Dit is mijn oplossing:
[ code verwijderd ]

Inmiddels geïmplementeerd en werkt, mijn dank is groot. Heb wel een kleine wijziging aangebracht omdat ik (indien gewenst) het element graag wil vervangen.

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
<?php
    
public function removeElements($tagName, array $exceptWithClass = array(), $replaceWith = array()) {
        
$removed 0;

        
$doc $this->document;

        
// This list is dynamic. Any change in the document will immediately be reflected here
        
$nodes $doc->getElementsByTagName($tagName);

        for(
$nodeIndex $nodes->length 1$nodeIndex >= 0$nodeIndex--) {
            
$node $nodes->item($nodeIndex);
            if(
$this->shouldNodeBeRemoved($node$exceptWithClass)) {
                
$parent $node->parentNode;
                if(isset(
$replaceWith['element']) && isset($replaceWith['contents'])) {
                    
$replace_node $doc->createElement($replaceWith['element'], $replaceWith['contents']);
                    
$parent->replaceChild($replace_node$node);
                }else{
                    
$parent->removeChild($node);
                }

                
$removed++;
            }
        }

        return 
$removed;
    }
?>


[ Bericht 3% gewijzigd door bondage op 08-11-2015 12:36:17 (wijzigingen in code...) ]
  maandag 16 november 2015 @ 15:54:35 #113
308438 Ser_Ciappelletto
Semi-professionele SJW
pi_157600741
Heeft iemand hier ervaring met utf-8 troubleshooting?
pi_157600846
quote:
0s.gif Op maandag 16 november 2015 15:54 schreef Ser_Ciappelletto het volgende:
Heeft iemand hier ervaring met utf-8 troubleshooting?
Iets specifieker ;)
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  maandag 16 november 2015 @ 16:10:20 #115
308438 Ser_Ciappelletto
Semi-professionele SJW
pi_157601141
quote:
7s.gif Op maandag 16 november 2015 15:58 schreef Aether het volgende:

[..]

Iets specifieker ;)
Ik heb een html-pagina die met require_once een php-scriptje aanroept, dat Griekse letters uit een MySQL-database queriet en in een tabel echoot.

De database is gecreëerd met DEFAULT CHARACTER SET "utf-8" en DEFAULT COLLATE utf8_general_ci. De default charset is in php.ini ingestelt op "utf-8". De HTML-pagina heeft in de header <meta charset="utf8"> staan. En nog krijg ik allemaal ????'jes in plaats Griekse letters...
pi_157601219
quote:
0s.gif Op maandag 16 november 2015 16:10 schreef Ser_Ciappelletto het volgende:

[..]

Ik heb een html-pagina die met require_once een php-scriptje aanroept, dat Griekse letters uit een MySQL-database queriet en in een tabel echoot.

De database is gecreëerd met DEFAULT CHARACTER SET "utf-8" en DEFAULT COLLATE utf8_general_ci. De default charset is in php.ini ingestelt op "utf-8". De HTML-pagina heeft in de header <meta charset="utf8"> staan. En nog krijg ik allemaal ????'jes in plaats Griekse letters...
Lastig om zo te zeggen waar het probleem zit.
Probeer eens bovenin je script:
1header('Content-Type: text/html; charset=utf-8');
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  maandag 16 november 2015 @ 16:16:39 #117
308438 Ser_Ciappelletto
Semi-professionele SJW
pi_157601311
quote:
7s.gif Op maandag 16 november 2015 16:13 schreef Aether het volgende:

[..]

Lastig om zo te zeggen waar het probleem zit.
Probeer eens bovenin je script:
[ code verwijderd ]

Die had ik al gevonden, maar dat helpt helaas niet. ;)
  † In Memoriam † maandag 16 november 2015 @ 16:23:42 #118
159335 Boze_Appel
Vrij Fruit
pi_157601459
quote:
0s.gif Op zaterdag 7 november 2015 19:08 schreef Chandler het volgende:
Vraagje, stel je hebt een formulier met gebruikersnaam en wachtwoord.

Beide elementen moeten voldoen aan veel eisen.

Naam ; minimaal 6, maximaal 30 tekens. Geen spaties en bepaalde karakters, Geen herhalingen van letters (3x een e achter elkaar bv). En minimaal 1 hoofdletter.
Wachtwoord: minimaal 6, maximaal 30 tekens. Geen spaties. Minimaal 1 teken, 1 cijfer en 1 hoofdletter.

Hoe ga je om met gevonden fouten als je het formulier controleert??
Websites die zulke eisen stellen aan wachtwoorden moeten door de internetshredder. Wat een ellende.
Carpe Libertatem
  maandag 16 november 2015 @ 17:33:53 #119
308438 Ser_Ciappelletto
Semi-professionele SJW
pi_157603307
quote:
0s.gif Op maandag 16 november 2015 16:16 schreef Ser_Ciappelletto het volgende:

[..]

Die had ik al gevonden, maar dat helpt helaas niet. ;)
Dit toevoegen werkt om de een of andere reden wel...

1mysqli_set_charset($conn, "utf8");
pi_157632888
quote:
0s.gif Op maandag 16 november 2015 17:33 schreef Ser_Ciappelletto het volgende:

[..]

Dit toevoegen werkt om de een of andere reden wel...
[ code verwijderd ]

Aan te raden is om PDO te gebruiken i.p.v. mysqli.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')