• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. Overige

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 350 Nieuwe Domeinnamen Januari 2026

    shiga 1 februari 2026 om 14:21
  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07

[HELP] geavanceerd zoeken en vervangen

  • ruttydm
  • 26 september 2015 om 17:48
  • ruttydm
    Intermediate
    Berichten
    226
    • 26 september 2015 om 17:48
    • #1

    Nou ik zit op notepad++ en ik wil van een een tekstdocumentje van zo'n 10000 regels een csv file maken.

    Ik heb iets gelezen of contol characters maar ik snap er niets van.

    dus ik moet van dit:

    Code
    doublecoins
    direct
    1200 
    60 
    http://www.doublecoins.eu  
    
    
    
    
    
    
    bitcoinsworld
    direct
    1200 
    60 
    http://www.bitcoinsworld.org/
       
       
    
    
    btc-free
    FaucetBox
    2050 
    30 
    http://btc-free.eu/?r=1LB8EJsDQZQt5X2EPHvKgHw1F66xLUUCj1
    Toon Meer


    dit kunnen maken:

    Code
    doublecoins,direct,1200,60,http://www.doublecoins.eu  
    bitcoinsworld,direct,1200,60,http://www.bitcoinsworld.org/
    btc-free,FaucetBox,2050,30,http://btc-free.eu/r=1LB8EJsDQZQt5X2EPHvKgHw1F66xLUUCj1

    iemand enig idee hoe ik hieraan begin? Met de hand zou onbegonnen werk zijn.

    http://infinidum.com/

  • mica-
    Student
    Ontvangen Reacties
    10
    Berichten
    111
    • 26 september 2015 om 18:19
    • #2

    Misschien met PHP, probeer dit eens:

    Code
    $file = fopen("PADNAARFILENU/filename.ext","r");
    $contents = fgets($file);
    $eachBlock = explode('\n\n\n',$contents); //Of Gebruik 3x PHP_EOL (Geeft einde van een lijn aan)
    $newContents = "";
    foreach($eachBlock AS $value)
    {
      $each = explode('\n',$value) //Of gebruik 1x PHP_EOL
      foreach($each AS $key => $val)
      {
        $newContents .= $value;
        if($key != end($each)) $newContents .=",";
      }
      $newContents .= "\n";
    }
    $ourNewFileName ="PADVOORDENIEUWEVERSIE/newfilename.ext";
    $ourNewFileHandle = fopen($ourNewFileName, 'w') or die("Kan bestand niet aanmaken.");
    $stringData = $newContents;
    fwrite($ourNewFileHandle, $stringData);
    fclose($ourNewFileHandle);
    Toon Meer

    Weet niet 100% zeker of \n zal werken in je explode functie, je kan ook \n\r proberen of die PHP_EOL constante, het zal even uitzoeken worden voor je, ik raad je aan bij het foutzoeken gebruik te maken van de functie var_dump($variabele) zo zie je netjes wat een variabele precies inhoud.

    Code nogmaals aangepast voor de laatste comma in iedere rij weg te halen in de output.

    Mafiasource on Github

    Bewerkt 11 keer, laatst door mica-: Aanpassingen in de code (26 september 2015 om 18:41).

  • ruttydm
    Intermediate
    Berichten
    226
    • 26 september 2015 om 18:46
    • #3

    pff dat wordt effe zoeken, ik heb nog nooit /n of PHP_EOL gebruikt,
    het geeft trouwens als resultaat alleen maar doublecoins weer.

    ps: semicolon vergeten :)

    http://infinidum.com/

  • mica-
    Student
    Ontvangen Reacties
    10
    Berichten
    111
    • 26 september 2015 om 18:51
    • #4

    Oke ik lees net dat dit niet kan voor single qoutes.. Probeer dit:

    Code
    $file = fopen("PADNAARFILENU/filename.ext","r");
    $contents = fgets($file);
    $eachBlock = explode("\n\n\n",$contents);
    $newContents = "";
    foreach($eachBlock AS $value)
    {
      $each = explode("\n",$value)
      foreach($each AS $key => $val)
      {
        $newContents .= $value;
        if($key != end($each)) $newContents .=",";
      }
      $newContents .= "\n";
    }
    $ourNewFileName ="PADVOORDENIEUWEVERSIE/newfilename.ext";
    $ourNewFileHandle = fopen($ourNewFileName, 'w') or die("Kan bestand niet aanmaken.");
    $stringData = $newContents;
    fwrite($ourNewFileHandle, $stringData);
    fclose($ourNewFileHandle);
    Toon Meer


    En anders probeer je het zo:

    Code
    $eachBlock = explode(PHP_EOL.PHP_EOL.PHP_EOL,$contents);
    $each = explode(PHP_EOL,$value);

    Mafiasource on Github

  • ruttydm
    Intermediate
    Berichten
    226
    • 26 september 2015 om 19:10
    • #5
    PHP
    <?php
    $file = fopen("1.txt","r");
    $contents = fgets($file);
    $eachBlock = explode(PHP_EOL.PHP_EOL.PHP_EOL,$contents);
    $newContents = "";
    foreach($eachBlock AS $value)
    {
     $each = explode(PHP_EOL,$value);
     foreach($each AS $key => $val)
     {
     $newContents .= $value;
     if($key != end($each)) $newContents .=",";
     }
     $newContents .= PHP_EOL;
    }
    $ourNewFileName ="2.txt";
    $ourNewFileHandle = fopen($ourNewFileName, 'w') or die("Kan bestand niet aanmaken.");
    $stringData = $newContents;
    fwrite($ourNewFileHandle, $stringData);
    fclose($ourNewFileHandle);
    ?>
    Toon Meer

    geeft

    Code
    doublecoins
    doublecoins
    ,

    Ik snap er eigenlijk niks van

    http://infinidum.com/

    Bewerkt één keer, laatst door ruttydm (26 september 2015 om 19:17).

  • mica-
    Student
    Ontvangen Reacties
    10
    Berichten
    111
    • 26 september 2015 om 19:54
    • #6

    Hmm vreemde output, wat was de input de gehele file :s ??
    Try:

    Code
    $eachBlock = explode(PHP_EOL.PHP_EOL.PHP_EOL.PHP_EOL,$contents);

    Aangezien je pas na een 4e lijn (startend eind van laatste lijn) een nieuw blokje info tegenkomt.

    Mafiasource on Github

  • ruttydm
    Intermediate
    Berichten
    226
    • 26 september 2015 om 20:24
    • #7

    de input is inderdaad de gehele file

    http://infinidum.com/

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 27 september 2015 om 15:05
    • #8

    Waarom lees je niet gewoon de file regel per regel uit en skip je hierbij lege regels?

    Als je invoer niet consistent is (waarbij elke "resultaatregel" uit precies niet-lege 5 items bestaat, die tevens in de goede volgorde staan) dan kun je het automatisch genereren wel vergeten, omdat het dan geen patroon volgt.

    Indien je invoer wel consistent is, zou je bijvoorbeeld data van 5 niet-lege regels kunnen verzamelen, en deze als "resultaatregel" kunnen wegschrijven. Daarna begint het spel weer opnieuw net zolang totdat je het hele bestand hebt uitgelezen.

    Het bovenstaande lijkt mij een zeer simpel algoritme wat zou moeten werken als je invoer klopt.

    code:

    PHP
    <?php
    $in  = 'in.txt'; // input file
    $out = 'out.txt'; // output file
    $cols = array('col1', 'col2', 'col3', 'col4', 'col5'); // names of columns
    
    
    // open input file for reading
    if (($fpIn = @fopen($in, 'r')) === false) {
        die('[error] could not read file '.$in);
    }
    
    
    // open output for writing (will truncate file) and add column header
    if (($fpOut = @fopen($out, 'w')) === false) {
        die('[error] could not open '.$out.' for writing');
    }
    fputcsv($fpOut, $cols);
    
    
    $data = array(); // temp var for collecting data
    
    
    // loop through all lines of input file
    while (($line = fgets($fpIn)) !== false) {
        if (trim($line) === '') {
            // do nothing
        } else {
            $data[] = trim($line); // trim because might still have newline attached which might break CSV
            // did we collect enough info for one record?
            if (count($data) == count($cols)) {
                // write data to CSV
                fputcsv($fpOut, $data);
                // clear data
                $data = array();
            }
        }
    }
    
    
    // extra check - did we read everything?
    if (feof($fpIn) === false) {
        echo '[error] did not reach end of file :(';
    }
    fclose($fpOut);
    fclose($fpIn);
    ?>[done]
    Toon Meer

    Bewerkt één keer, laatst door FangorN (27 september 2015 om 15:54).

  • Patrick
    Back in the game
    Ontvangen Reacties
    52
    Berichten
    1.417
    • 27 september 2015 om 20:18
    • #9

    of in notepad++

    ctrl + h

    zoeken naar \r\n -> replace met -

    dan heb je bij de wit regels er tussen meerdere - nu achter elkaar. Vervolgens replace je de meerdere - met \r\n.
    En als laatste doe je de overgebleven enkele - replacen met een , done. :)

    Zonder programmering.

    Kan overigens dat je bij de ctrl + h wel de optie reguliere expressie aan moet zetten omdat hij anders de \r\n niet herkent.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design