Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tou com um erro na parte de preg_replace, mas as variaveis estão declaradas.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php$nomes = array(
'Gabriel' => 'masculino',
'Galileu' => 'masculino',
'George' => 'masculino',
'Gérson' => 'masculino',
'Gilherme' => 'masculino',
'Gabriela' => 'feminino',
'Léa' => 'feminino',
'Larissa' => 'feminino',
'Laura' => 'feminino',
'Lúcia' => 'feminino',
'Lorena' => 'feminino',
'Lucí' => 'feminino',
'Lucía' => 'feminino',
'Luzía' => 'feminino',
'Loreta' => 'feminino',
'Lorena' => 'feminino',
'Lídia' => 'feminino',
'Lauro' => 'masculino',
'Lázaro' => 'masculino',
'Leandro' => 'masculino',
'Marcía' => 'feminino',
'Marília' => 'feminino',
'Marcela' => 'feminino',
'Matilde' => 'feminino',
'Maíra' => 'feminino',
'Mara' => 'feminino',
'Margarida' => 'feminino',
'Mariel' => 'feminino',
'Marieta' => 'feminino',
'Letícia' => 'feminino',
'Leia' => 'feminino',
'Maria' => 'feminino',
'Marina' => 'feminino',
'Mercedes' => 'feminino',
'Milena' => 'masculino',
'Marcío' => 'masculino',
'Mário' => 'masculino',
'Matheus' => 'masculino',
'Maurício' => 'masculino',
'Miguél' => 'masculino',
'Matias' => 'masculino',
'Murilo' => 'masculino',
'Milton' => 'masculino',
'Marcos' => 'masculino',
);
$nome = array();
$numbers = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$regex = "/\[nome\((.*?)\)\]/is";
$test = $_POST['test'];
$test = "[nome(1)] foi a feira com [nome(2)]. [nome(2)] comprou [numero(1)] uvas e comeu [numero(2)].";
// echo array_rand($nomes)." ".array_rand($nomes)."<br />".rand(1, 999)."<br />";
// A partir daqui irei efetuar os replaces de nomes
preg_match_all($regex, $test, $pregs);
foreach ($pregs as $n2 => $val) {
foreach($val as $value)
{
if($n2 == 0)
{
if(!in_array($value, $nome))
{
// Limpando [ e ]
$nomearray = $value;
$replasments = array('[', ']', '(', ')', 'nome');
$nomearray = str_replace($replasments, '', $nomearray);
$a_value = array_rand($nomes);
if(!in_array($a_value, $nome))
{
$nome[$nomearray] = $a_value;
} else {
$a_value = array_rand($nomes);
$nome[$nomearray] = $a_value;
}
}
// echo $value.'<br />';
}
}
}
// iMasters, se quiserem, usem esse foreach para comprovar a variavel.
echo "<b>\$nomes = array(</b><br />";
foreach ($nome as $value => $n2)
{
echo ' ['.$value."]=><br > string(".strlen($n2).') "'.$n2.'"<br />';
}
echo "<b>);</b><br />";
$test = preg_replace('/\[nome\((.*?)\)\]/i', $nome['$1'], $test);
// Agora, os numeros
$regex = "/\[numero\((.*?)\)\]/is";
preg_match_all($regex, $test, $pregs);
foreach ($pregs as $n2 => $val) {
foreach($val as $value)
{
if($n2 == 0)
{
if(!in_array($value, $nome))
{
// Limpando [ e ]
$nomearray = $value;
$replasments = array('[', ']', '(', ')', 'numero');
$nomearray = str_replace($replasments, '', $nomearray);
$a_value = rand();
if(!in_array($a_value, $nome))
{
$numero[$nomearray] = $a_value;
} else {
$a_value = rand();
$numero[$nomearray] = $a_value;
}
}
// echo $value.'<br />';
}
}
}
echo "<b>\$numero = array(</b><br />";
foreach ($numero as $value => $n2)echo ' ['.$value."]=><br > string(".strlen($n2).') "'.$n2.'"<br />';
}
echo "<b>);</b><br />";
$test = preg_replace('/\[numero\((.*?)\)\]/i', $numero['$1'], $test);
echo $test;
?>
</body>
</html>Carregando comentários...