Jump to content

[Resolvido] Pode-se fazer assim?


sEnte
 Share

Recommended Posts

<?php

function censorship($censor)
{
if (isset($censor)) {
	$badwrds  = array(
		"dumb",
		"stupid",
		"punk"
	);
	$rplwrds  = array(
		"dumb",
		"derp",
		"no, not really"
	);
	$nicewrds = str_replace($badwrds, $rplwrds, $censor);
	return $nicewrds;
} else {
	return "";
}
}
$censor = "That punk is stupid, dumb"
?>
Edited by sEnte

"If It Ain't Broke, Break it and build something Cooler!" Unknown

Link to comment
Share on other sites

eu faria um bocadito diferente :

function censorship($censor)
{
   if (is_string($censor)) {
       $badwrds  = array(
           "/dumb/i",
           "/stupid/i",
           "/punk/i"
       );

       // eu não alterava para uma palavra expecífica
       // as pessoas começam a associar essas palavras a algo que não podem dizer
       // mesmo que sejam palavras sem nenhuma conotação negativa
       return preg_replace($badwrds, "*******", $censor);
   } else {
       return "";
   }
}
echo censorship("That Punk is stuPid, duMb"); // <--- nota nos caracteres em maiúsculas pelo meio
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

oh HappyHippo

Como está pode-se meter num textfield?

os exemplos que meti era só para experimentar, não ia meter palavrões aqui não é lol

Agora uma dúvida... porquê preg_replace e não str_replace?

Será por causa do is_string?

Realmente faz sentido que sejam case-sensitive caso contrário tinha de meter todas as opções possiveis e imaginárias... o que ia dar algum trabalho

cumps

Edited by sEnte

"If It Ain't Broke, Break it and build something Cooler!" Unknown

Link to comment
Share on other sites

Como está pode-se meter num textfield?

os exemplos que meti era só para experimentar, não ia meter palavrões aqui não é lol

não percebi, fazer com o código o que entenderes

Agora uma dúvida... porquê preg_replace e não str_replace?

Será por causa do is_string?

não, o preg_replace é para efectuar a pesquisa case-insensitive, o is_string é para verificar se a variável é uma string

basta olhar para o seguinte código para perceber a diferença

$string = array(1 => 100);
if (isset($string)) // sim, a variável está definida
{
 strtolower($string); // pera ai ... mas a variável é um array e não uma string ...
}

Realmente faz sentido que sejam case-sensitive caso contrário tinha de meter todas as opções possiveis e imaginárias... o que ia dar algum trabalho

case-insensitive

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

não percebi, fazer com o código o que entenderes

O que queria dizer era

posso chamar a função para um textfield tal como está?

Por exemplo um utilizador modifica a sua bio e para não escrever certas palavras aparece a substituição.

A parte do "os exemplos que meti...." era em respota a isto

// mesmo que sejam palavras sem nenhuma conotação negativa

não, o preg_replace é para efectuar a pesquisa case-insensitive, o is_string é para verificar se a variável é uma string

basta olhar para o seguinte código para perceber a diferença

$string = array(1 => 100);
if (isset($string)) // sim, a variável está definida
{
 strtolower($string); // pera ai ... mas a variável é um array e não uma string ...
}

Hmm ok Já percebi.

Obrigado

case-insensitive

insensitive?

Se eu escrever stupid and vez de stuPid vai dar ao mesmo?

"If It Ain't Broke, Break it and build something Cooler!" Unknown

Link to comment
Share on other sites

O que queria dizer era

posso chamar a função para um textfield tal como está?

Por exemplo um utilizador modifica a sua bio e para não escrever certas palavras aparece a substituição.

não

PHP = server-side

textbox = client-side (javascript)

insensitive?

Se eu escrever stupid and vez de stuPid vai dar ao mesmo?

exactamente

(com o preg_replace("/xpto/i", ...) )

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
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
 Share

×
×
  • 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.