note 104318 deleted from function.preg-replace by crell

From: Date: Fri, 01 Jul 2022 19:47:40 +0000
Subject: note 104318 deleted from function.preg-replace by crell
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-218856@lists.php.net to get a copy of this message
Note Submitter: someuser at dot dot com ---- Replacement of line numbers, with replacement limit per line. Solution that worked for me. I have a file with tasks listed each starting from number, and only starting number should be removed because forth going text has piles of numbers to be omitted. 56 Patient A of 46 years suffering ... ... 57 Newborn of 26 weeks was ... 58 Jane, having age 18 years recollects onsets of ... ... 587 Patient of 70 years ... etc. <?php // Array obtained from file $array = file($file, true); // Decompile array with foreach loop foreach($array as $value) { // Take away numbers 100-999 // Starting from biggest // // % Delimiter // ^ Make match from beginning of line // [0-9] Range of numbers // {3} Multiplication of digit range (For tree digit numbers) // if(preg_match('%^[0-9]{3}%', $value)) { // Re-assing to value its modified copy $value = preg_replace('%^[0-9]{3}%', '-HERE WAS XXX NUMBER-', $value, 1); } // Take away numbers 10-99 elseif(preg_match('%^[0-9]{2}%', $value)) { $value = preg_replace('%^[0-9]{2}%', '-HERE WAS XX NUMBER-', $value, 1); } // Take away numbers 0-9 elseif(preg_match('%^[0-9]%', $value)) { $value = preg_replace('%^[0-9]%', '-HERE WAS X NUMBER-', $value, 1); } // Build array back $arr[] = array($value); } } ?>

« previous php.notes (#218856) next »