Re: Stripping Characters
| From: | Richard Quadling | Date: | Tue, 22 Jun 2010 16:15:44 +0000 |
| Subject: | Re: Stripping Characters | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-306312@lists.php.net to get a copy of this message | ||
On 22 June 2010 16:44, Ashley Sheridan <ash@ashleysheridan.co.uk> wrote:
> On Tue, 2010-06-22 at 11:40 -0400, Rick Dwyer wrote:
>
>> Hello List.
>>
>> I need to remove characters from a string and replace them with and
>> underscore.
>>
>> So instead of having something like:
>>
>> $moditem = str_replace("--","_","$mystring");
>> $moditem = str_replace("?","_","$mystring");
>> $moditem = str_replace("!","_","$mystring");
>> ....etc.
>>
>> For every possible character I can think of, is there a way to simply
>> omit any character that is not an alpha character and not a number
>> value from 0 to 9?
>>
>>
>> --Rick
>>
>>
>>
>
>
> Use preg_replace(), which allows you to use a regex to specify what you
> want to match:
>
> $find = '/[^a-z0-9]/i';
> $replace = '_';
> $new_string = preg_replace($find, $replace, $old_string);
>
> Thanks,
> Ash
> http://www.ashleysheridan.co.uk
>
>
>
Watch out for white space in there. Tabs, spaces, new lines, etc. will
also be converted to underscore.
$find = '/[^\w\s]/i';
[^\w\s]
Match a single character NOT present in the list below «[^\w\s]»
A word character (letters, digits, and underscores) «\w»
A whitespace character (spaces, tabs, and line breaks) «\s»
"A "word" character is any letter or digit or the underscore
character, that is, any character which can be part of a Perl "word".
The definition of letters and digits is controlled by PCRE's character
tables, and may vary if locale-specific matching is taking place. For
example, in the "fr" (French) locale, some character codes greater
than 128 are used for accented letters, and these are matched by \w."
--
-----
Richard Quadling
"Standing on the shoulders of some very clever giants!"
EE : http://www.experts-exchange.com/M_248814.html
EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
ZOPA : http://uk.zopa.com/member/RQuadling