note 79951 added to function.preg-replace

From: Date: Thu, 20 Dec 2007 17:38:49 +0000
Subject: note 79951 added to function.preg-replace
Groups: php.notes 
Request: Send a blank email to php-notes+get-133823@lists.php.net to get a copy of this message
Here is a usage that I found convenient for cleaning up file names that have been entered through a web form. The file names had to be preserved at this point (they will be renamed into machine-friendly names after they are processed). I used Hex code ranges to exclude undesirable characters. <?php function removeSpacesFromFileNames($imageName){ $patternCounter=0; $patterns[$patternCounter] = '/[\x21-\x2d]/u'; // remove range of shifted characters on keyboard - !"#$%&'()*+,- $patternCounter++; $patterns[$patternCounter] = '/[\x5b-\x60]/u'; // remove range including brackets - []\^_` $patternCounter++; $patterns[$patternCounter] = '/[\x7b-\xff]/u'; // remove all characters above the letter z. This will eliminate some non-English language letters $patternCounter++; $replacement ="_"; return preg_replace($patterns, $replacement, $imageName); } // so now: $goodFileName=removeSpacesFromFileNames('this is t$h ´aaa´x! q?u"Best.png'); echo "output: ".$goodFileName; ?> output: this_is_t_h__aaa_x__q_u_Best.png ---- Server IP: 69.147.83.197 Probable Submitter: 75.112.133.23 ---- Manual Page -- http://www.php.net/manual/en/function.preg-replace.php Edit -- https://master.php.net/note/edit/79951 Del: integrated -- https://master.php.net/note/delete/79951/integrated Del: useless -- https://master.php.net/note/delete/79951/useless Del: bad code -- https://master.php.net/note/delete/79951/bad+code Del: spam -- https://master.php.net/note/delete/79951/spam Del: non-english -- https://master.php.net/note/delete/79951/non-english Del: in docs -- https://master.php.net/note/delete/79951/in+docs Del: other reasons-- https://master.php.net/note/delete/79951 Reject -- https://master.php.net/note/reject/79951 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#133823) next »