Er det korrekt forstået at du søger et script til at tælle/opliste alle de steder hvor der i en given tekst findes sætninger på hhv. 2 og 3 ord, eller hvad mener du med ovenstående?
ja - jeg ønsker et program som kan finde alle strenge af 2 ord og 3 ord og optælle hvor mange gange de går igen. Teksten: jeg vil gerne ha en is og jeg vil gerne købe en og vil gerne købe en til dig også.
Ville således give: Bigrams 3 x vil gerne 2 x jeg vil 2 x købe en
Trigrams 2x jeg vil gerne
I modsætning til ren ord optælling, kan bi- og trigrams give et bedre indtryk af indholdet af en tekst.
der skal naturligvis tages højde for at bigrams og trigrams skal findes i hele sætninger og må altså ikke overskride et punktum. Kommaer er underordnet og kan blot fjernes før gennemløb, men både ; ! ? ; " skal opfattes som afslutning af en sætning. I bedste tilfælde kunne feks et punktum som indgår i et tal (10.000) opfattes som en del af ordet ... Og der findes garanteret mange andre ting man kan/bør tage højde for. Det bliver hurtigt lidt speget, ik?!
Det kunne sikkert gøres mere 'sexy', men det bliver ikke inat. Jeg har skiftet punktummer i tal ud med kommaer - dem må du selv skifte, hvis det er et problem =)
<?php $s = <<<STREND Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean risus nibh, sodales et, pellentesque vitae, condimentum quis, tortor. Donec sed ipsum. Proin lobortis est a metus. Morbi ornare orci posuere lectus rhoncus libero.
Quisque ultricies risus. Cras fermentum tellus varius mauris. Phasellus nec pede vel dolor commodo fermentum. Fusce blandit tellus feugiat nulla. Nullam nibh. Proin 10.000 venenatis orci nec nunc. Phasellus feugiat, orci vel posuere euismod, urna orci posuere lectus, vel sodales elit urna nec nunc. Nullam pretium mauris blandit tellus feugiat nulla sit amet dolor. Ut dictum. STREND;
<?php $s = <<<STREND Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean risus nibh, sodales et, pellentesque vitae, condimentum quis, tortor. Donec sed ipsum. Proin lobortis est a metus. Morbi ornare orci posuere lectus rhoncus libero.
Quisque ultricies risus. Cras fermentum tellus varius mauris. Phasellus nec pede vel dolor commodo fermentum. Fusce blandit tellus feugiat nulla. Nullam nibh. Proin 10.000 venenatis orci nec nunc. Phasellus feugiat, orci vel posuere euismod, urna orci posuere lectus, vel sodales elit urna nec nunc. Nullam pretium mauris blandit tellus feugiat nulla sit amet dolor. Ut dictum. STREND;
- og $nLines burde selvfølgelig have heddet $nWords, hvis der skulle være logik i tingene. I den variabel ligger antallet af ord i den aktuelle linje =)
Godmorgen, Jakob ... gider du lige at validere, om syntaksen i kommentaren (10/10-2008 03:13:41) modsvarer den høje grad af velformethed, som forfatterens krop i vide kredse er kendt for? Jaja, det var osse tidligt på dagen ;D
alsvik >> Selvtak. Nu har du i hvertfald en begyndelse, men når man roder med søgemønstre i form af RegExps, kan man ofte komme ud for at glemme noget i forudsigelserne for, hvad man kan komme ud for at skulle søge mellem. Det må vi så tage til den tid =)
PS: Hun nævnte det dog ikke, før vi var blevet gift! *LoL*
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.