Jump to content
spcl

contrario de replace

Recommended Posts

spcl

bom dia,

eu para validar caracteres aceites utilizo uma expressão regular com o preg_match, e funciona bem, o problema e que eu agora estava a precisar de substituir todos os caracteres que estão fora da expressão

expressão com preg_match:

if(preg_match('/^[a-z,0-9,A-Z,_-]+$/', $data ) ):
$output=1;
endif;

O que eu queria era limpar tudo o que não fosse letras de A a Z, a a z, números de 0 a 9 e os caracteres underline e hyphen, como posso fazer visto que o replace faz exactamente o contrario do que eu queria?

obrigado

Share this post


Link to post
Share on other sites
HappyHippyHippo

o que pretendes é ao contrário de escolher tudo dentro da tua classe (a-z,0-9,A-Z,_-) escolher tudo que não faça parte dessa classe colocando o caracter '^'

$data = preg_replace('/^[^a-z,0-9,A-Z,_-]+$/', '', $data );

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
spcl

não e isso bem isto pois eu coloquei:

$data="az09AZ-_'";

$data=preg_replace('/^[^a-z,0-9,A-Z,_-]+$/','', $data );

echo $data;

e o retorno foi

Share this post


Link to post
Share on other sites
brunoais

E qual é que devia de ser?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
spcl

E qual é que devia de ser?

0 retorno foi az09AZ-_', nao sei porque nao imprimiu

deveria ser: az09AZ-_

Experimenta assim;

$data=preg_replace('/[^a-z,0-9,A-Z,_-]+/','', $data );

retorna na mesma az09AZ-_'

Edited by Rui Carlos

Share this post


Link to post
Share on other sites
nelsonr

Testei agora num editor online e funcionou bem

<?php
$data="az09AZ-_'";
$data=preg_replace('/[^a-z,0-9,A-Z,_-]+/','', $data );
echo $data;

// az09AZ-_
?>

Share this post


Link to post
Share on other sites
spcl

não sei por que mas no meu não esta a dar, imprime a plica

vou tentar ver

ja descobri o problema, nada que um reset ao wampserver não resolva

obrigado a todos que ajudarão

Edited by spcl

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.