Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Почему при работе со строками, PHP не реагирует на русские буквы ?
 
 автор: asked86   (25.10.2008 в 13:48)   письмо автору
 
 

Почему при работе со строками, PHP не реагирует на русские буквы ?
//Имеется строка необходимо удалить букву "н"

$st="глинянный";
 
 for ($i=0; $i<strlen($st); $i++)
  {
     if ((strcmp($st[$i],"н")==0)&&(strcmp($st[$i+1],"н")==0))
      {
        $i_pos=$i;
       }  // if  
   } // for ($i=0; $i<strlen($st); $i++
   
   
if  ($i_pos>0)
 {
   $st=substr_replace($st,"",$i_pos,1);
  } // if  ($i_pos>0)
  
print($st);

Ничего не выводит ! А на англ яз все работает !

  Ответить  
 
 автор: Zend72   (25.10.2008 в 16:44)   письмо автору
 
   для: asked86   (25.10.2008 в 13:48)
 

А если вот так попробовать:

<?php
setlocale
(LC_ALL"ru_RU.CP1251");
$st="глинянный";
 
for (
$i=0$i<strlen($st); $i++)
  {
     if ((
strcmp($st[$i],"н")==0)&&(strcmp($st[$i+1],"н")==0))
      {
        
$i_pos=$i;
       }  
// if  
   
// for ($i=0; $i<strlen($st); $i++
   
   
if  ($i_pos>0)
 {
   
$st=substr_replace($st,"",$i_pos,1);
  } 
// if  ($i_pos>0)
  
print($st);
?>

  Ответить  
 
 автор: asked86   (25.10.2008 в 17:49)   письмо автору
 
   для: Zend72   (25.10.2008 в 16:44)
 

<?php
setlocale
(LC_ALL"ru_RU.CP1251");
$st="глинянный";
 
for (
$i=0$i<strlen($st); $i++)
  {
     if ((
strcmp($st[$i],"н")==0)&&(strcmp($st[$i+1],"н")==0))
      {
        
$i_pos=$i;
       }  
// if  
   
// for ($i=0; $i<strlen($st); $i++
   
   
if  ($i_pos>0)
 {
   
$st=substr_replace($st,"",$i_pos,1);
  } 
// if  ($i_pos>0)
  
print($st);
?>

Не работает !

  Ответить  
 
 автор: MHz   (25.10.2008 в 17:35)   письмо автору
 
   для: asked86   (25.10.2008 в 13:48)
 

Что-то больше на C++ похоже чем на PHP =)
А не проще ли сделать так?


$st="глинянный";
print(str_replace('нн', 'н', $st));

  Ответить  
 
 автор: asked86   (25.10.2008 в 17:51)   письмо автору
 
   для: MHz   (25.10.2008 в 17:35)
 

Ваш вариант понятен, спасибо !

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования