За последние 24 часа нас посетили 52890 программистов и 1768 роботов. Сейчас ищут 950 программистов ...

Помогите с скриптом автозамены в скрипте, Не заменяет кирилл

Тема в разделе "PHP для новичков", создана пользователем A.B.C., 20 сен 2010.

  1. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    Здравствуйте, столкнулся с такой проблемой

    ИСХОДНЫЙ СКРИПТ:
    PHP:
    1.  
    2. $l=file_get_contents("nachalo.php");
    3. $s="Пиво.";
    4. $str=ereg_replace("ZZZ_1",$s,$l);
    5. file_put_contents("proba.php",$str);
    6.  
    Скрипт в котом ищем замену:
    nachalo.php
    PHP:
    1.  
    2. if ($drug=="drugaya")
    3. {
    4.     print ("ZZZ_1");
    5. }
    6. else
    7. {
    8.     print ("#2");
    9. }
    10.  
    В результате вместо Пиво получаем - пробелы " ", но если вместо Пиво написать BEER, то все получается!
    Не меняет чисто кириллицу, как побороть??[/php]
     
  2. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    mb_ereg_replace?
     
  3. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    Нет не получается...пишет почему то цифру 1
     
  4. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    А какая кодировка используется?
     
  5. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
  6. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    На входе: $s="Пиво-BEER-пивО";

    на выходе: $s="-BEER-";
     
  7. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    $fh = fopen("proba.php", "a+");
    fwrite($fh, $str);

    тоже не пишет кириллицу
     
  8. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    setlocale?
    Какая кодировка файла?
    $fh = fopen("proba.php", "a+b");
     
  9. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    setlocale(LC_ALL, 'russian');

    не помогает
     
  10. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    Парни, попробуйте у себя на компе кто-нибудь? ...работает это вообще или может то баг какой с кирилицей...
     
  11. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    A.B.C.
    Опиши лучше задачу, так помочь мне будет легче
     
  12. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    Смысл в том, что в этом скрипте происходит создание другого файла.
    Как из кирпичиков копируются куски кода в файлах-шаблонах в которых заменяются нужные переменные и в конце концов объединяются в целый файл.


    В данном случае мы берем копируем все из файла nachalo.php (первичный шаблон), в нем есть строчка "ZZZ_1" - это типа метки, производим замену ZZZ_1 на слово ПИВО, и сохраняем результат в файл.
    Далее берем второй файл-шаблон..тоже самое...только уже ZZZ_2 ...ZZZ_3, присоединяем к первому сохраненному файлу.
     
  13. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    Apple
    С ООП я не особо знаком, если сможешь подскажи без него...
     
  14. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    Apple
    ...спасибо...я разобрался...
     
  15. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    index.php
    PHP:
    1. $l=file_get_contents("nachalo.php");
    2. $s="Пиво.";
    3. $str=ereg_replace("ZZZ_1",$s,$l);
    4. file_put_contents("proba.php",$str);
    nachalo.php
    PHP:
    1. $drug = "drugaya";
    2. if ($drug=="drugaya")  {
    3.     print ("ZZZ_1");
    4. }
    5. else {
    6.     print ("#2");
    7. }
    проблема была в переменной