note 79951 added to function.preg-replace
| From: | chrisadams at 407x dot com | 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