O problema é que o str_replace em vez de substituir somente os caracteres da string dada ele tambem substitui os caracteres ja substituidos, ou seja:
Digamos que a string dada é:
Oi, tudo bem?
Ela deveria ficar:
%252echr(79)%252echr(105)%252echr(44)%252echr(32)%252echr(116)%252echr(117)%252echr(100)%252echr(111)%252echr(32)%252echr(98)%252echr(101)%252echr(109)%252echr(63)
Mas como cada caractere ja substituido é substituido de novo fica:
Não caberia num post por isso não botei mas acho que vocês ja tem a ideia :P
Bom gostaria de que os str replaces mudassem na primeira variavel e não na mais recente...
Aqui o codigo da minha pagina: (não está completa eu parei quando precebi que não ia funcionar)
<?php
$text = $_POST['text'];
if (!empty ($text)) {
$text = str_replace(' ', '%252echr(32)', $text);
$text = str_replace('!', '%252echr(33)', $text);
$text = str_replace('"', '%252echr(34)', $text);
$text = str_replace('#', '%252echr(35)', $text);
$text = str_replace('$', '%252echr(36)', $text);
$text = str_replace('%', '%252echr(37)', $text);
$text = str_replace('&', '%252echr(38)', $text);
$text = str_replace("'", '%252echr(39)', $text);
$text = str_replace('(', '%252echr(40)', $text);
$text = str_replace(')', '%252echr(41)', $text);
$text = str_replace('*', '%252echr(42)', $text);
$text = str_replace('+', '%252echr(43)', $text);
$text = str_replace(',', '%252echr(44)', $text);
$text = str_replace('-', '%252echr(45)', $text);
$text = str_replace('.', '%252echr(46)', $text);
$text = str_replace('/', '%252echr(47)', $text);
$text = str_replace('0', '%252echr(48)', $text);
$text = str_replace('1', '%252echr(49)', $text);
$text = str_replace('2', '%252echr(50)', $text);
$text = str_replace('3', '%252echr(51)', $text);
$text = str_replace('4', '%252echr(52)', $text);
$text = str_replace('5', '%252echr(53)', $text);
$text = str_replace('6', '%252echr(54)', $text);
$text = str_replace('7', '%252echr(55)', $text);
$text = str_replace('8', '%252echr(56)', $text);
$text = str_replace('9', '%252echr(57)', $text);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Text to Decimal</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form method="post" action="<?php echo $PHP_SELF;?>">
Input: <input type="text" name="text" size="20">
<input type="submit" value="submit" name="submit">
</form>
<?
if (isset($_POST['submit'])) {
print "<textarea name='body' rows='8' cols='25'>$text</textarea>";
}
?>
</body>
</html>










