Re: Regular Expressions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



True, but you'll have to change the rexex not to match, 'ń' or
'ã for example (unless you want it)

Thiago Ferreira wrote:
> you could do it without any function
> <?php
> 
> $line = "Hola que tal con &aacute; con acento y e&ntilde;e \n";
> 
> echo preg_replace('/&([aeioun])(acute|tilde);/i','\1',$line);
> 
> ?>
> 
> On Nov 6, 2007 2:44 PM, Ezequiel Gutesman <egutesman@xxxxxxxxxxxxxxxx>
> wrote:
> 
>> Maybe this helps
>>
>> <?php
>>
>>
>>  $line = preg_replace_callback(
>>        '/(&aacute;|&eacute;|&iacute;|&oacute;|&uacute;|&ntilde;)/',
>>        create_function(
>>            // single quotes are essential here,
>>            // or alternative escape all $ as \$
>>            '$matches',
>>            'switch($matches[0]){
>>                    case \'&aacute;\': return \'a\';
>>                    case \'&eacute;\': return \'e\';
>>                    case \'&iacute;\': return \'i\';
>>                    case \'&oacute;\': return \'o\';
>>                    case \'&uacute;\': return \'u\';
>>                    case \'&ntilde;\': return \'n\';
>>                }'
>>        ),
>>        $line
>>    );
>>
>> echo $line;
>> ?>
>>
>> if you want to use this functionality several times:
>>
>> <?php
>>
>> function myReplace($chr)
>> {
>>        switch($chr[0]){
>>                    case '&aacute;': return 'a';
>>                    case '&eacute;': return 'e';
>>                    case '&iacute;': return 'i';
>>                    case '&oacute;': return 'o';
>>                    case '&uacute;': return 'u';
>>                    case '&ntilde;': return 'n';
>>        }
>> }
>>
>>
>> $line = "Hola que tal con &aacute; con acento y e&ntilde;e ";
>>
>>  $line = preg_replace_callback(
>>        '/(&aacute;|&eacute;|&iacute;|&oacute;|&uacute;|&ntilde;)/',
>>        'myReplace',
>>        $line
>>    );
>> echo $line;
>> ?>
>>
>> hope this helps. Note that these are pcre (Perl Compatible RegEx).
>>
>>
>>
>> Alberto García Gómez wrote:
>>> I'm a mess in regular expressions and I make this code:
>>>
>>> $link = ereg_replace('&ntilde;','n',$link);
>>> $link = ereg_replace('&aacute;','a',$link);
>>> $link = ereg_replace('&eacute;','e',$link);
>>> $link = ereg_replace('&iacute;','i',$link);
>>> $link = ereg_replace('&oacute;','o',$link);
>>> $link = ereg_replace('&uacute;','u',$link);
>>>
>>> I ask if is a way to make those lines into a single one but working as
>> well as this piece. I'm thinking in increase those lines so will be
>> wonderful if I can optimize the code.
>>>
>>>
>>> Este correo ha sido enviado desde el Politécnico de Informática "Carlos
>> Marx" de Matanzas.
>>> "La gran batalla se librará en el campo de las ideas"
>>>
>> --
>> Ezequiel Gutesman
>> Researcher
>> Corelabs
>> Core Security Technologies
>> http://www.coresecurity.com/corelabs
>>
>> PGP Figerprint: 01E4 0E4F 83F8 2D5D 8050 0449 7156 1DF6 C2B3 34AE
>>
>> --
>> PHP General Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
> 

-- 
Ezequiel Gutesman
Researcher
Corelabs
Core Security Technologies
http://www.coresecurity.com/corelabs

PGP Figerprint: 01E4 0E4F 83F8 2D5D 8050 0449 7156 1DF6 C2B3 34AE

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux