nikki4
Новичок
Некоторые вопросы по поводу пребразования строк
делаю прогу, типа словаря - вводишь текст и там после нажатия на кнопку тебе на основе массива другой текст выводят. такое работает уже кое как.. но всеже есть пару моментов которые нужно доделать
1) чтобы если последняя буква в форме введенной была допустим "В", тогда она заменялась например на "7"
2) чтобы все большие буквы становились маленькими
для второго использовал strtolower но она там чего-то с кодировкой не то делает. получается
� вместо нормального уменьшенного текста
у меня кодировка utf-8.
а вот по поводу первого я попробовал сделать так.. вот только почему-то он ничего не делает с текстом и как была "В" так и осталась
Код:
<?php
if($_POST["confirm"]) //это я нашел в каком-то примере, как сделать чтобы если текст не введен, то при нажатии на кнопку было сообщение об ошибке
{
$error="Внимание!";
$slovo=$_POST["slovo"];
if(strlen($slovo)==0)
{$error.=" Введите слово";
}
}
if($error!="Внимание!")
{print "$error";
}
?> // это функция чтоб последнюю букву В заменить на "7"
<? function prepare($slovo){
$strlength = strlen($slovo);
if ($slovo[$strlength] == "в")
$slovo[$strlength] = "7";
return $slovo;
} ?>
<?
$mass = array(а=>..., б=>..., в=>..., и так далее очень много символов которые заменяются)
<form action="test.php" method="post" name="text" >
<input type="text" size="40" maxlength="35" name="slovo" id="slovo" value="<?php echo $_POST["slovo"] ?>">
<input type="hidden" name="confirm" id="confirm" value="12345">
<input type="submit"; name="vvod"; value="Ввести"; >
<?php
if($_POST["confirm"] && $error=="Внимание!")// а здесь уже идет проверка введены ли символы и если введены то преобразовать текст с помощью функции, а затем на основе массива заменить и вывести новый текст
{$slovo = $_POST['slovo'];
$slovo = prepare($slovo);
echo strtr($slovo, $mass);}
?>
но всеравно не меняет букву В на "7" просто преобразовывает текст на основе массива, как будто игнорирую функцию преобразования предварительного буквы В на 7
делаю прогу, типа словаря - вводишь текст и там после нажатия на кнопку тебе на основе массива другой текст выводят. такое работает уже кое как.. но всеже есть пару моментов которые нужно доделать
1) чтобы если последняя буква в форме введенной была допустим "В", тогда она заменялась например на "7"
2) чтобы все большие буквы становились маленькими
для второго использовал strtolower но она там чего-то с кодировкой не то делает. получается
� вместо нормального уменьшенного текста
у меня кодировка utf-8.
а вот по поводу первого я попробовал сделать так.. вот только почему-то он ничего не делает с текстом и как была "В" так и осталась
Код:
<?php
if($_POST["confirm"]) //это я нашел в каком-то примере, как сделать чтобы если текст не введен, то при нажатии на кнопку было сообщение об ошибке
{
$error="Внимание!";
$slovo=$_POST["slovo"];
if(strlen($slovo)==0)
{$error.=" Введите слово";
}
}
if($error!="Внимание!")
{print "$error";
}
?> // это функция чтоб последнюю букву В заменить на "7"
<? function prepare($slovo){
$strlength = strlen($slovo);
if ($slovo[$strlength] == "в")
$slovo[$strlength] = "7";
return $slovo;
} ?>
<?
$mass = array(а=>..., б=>..., в=>..., и так далее очень много символов которые заменяются)
<form action="test.php" method="post" name="text" >
<input type="text" size="40" maxlength="35" name="slovo" id="slovo" value="<?php echo $_POST["slovo"] ?>">
<input type="hidden" name="confirm" id="confirm" value="12345">
<input type="submit"; name="vvod"; value="Ввести"; >
<?php
if($_POST["confirm"] && $error=="Внимание!")// а здесь уже идет проверка введены ли символы и если введены то преобразовать текст с помощью функции, а затем на основе массива заменить и вывести новый текст
{$slovo = $_POST['slovo'];
$slovo = prepare($slovo);
echo strtr($slovo, $mass);}
?>
но всеравно не меняет букву В на "7" просто преобразовывает текст на основе массива, как будто игнорирую функцию преобразования предварительного буквы В на 7