Помогите с кодировкой в "обработчике"

(Ответов: 5, Просмотров: 332)
  1. Опытный
    • Регистрация: 21.11.2013
    • Сообщений: 407
    • Репутация: 58
    Доброго времени суток!
    Сегодня вот так захотелось написать небольшой обработчик.Он работает по принципу "слово"(из .txt файлика) + "слово2,слово3"(задается с помощи переменной).
    Вот скрипт -
    PHP код:
    <?php
    header
    ('Content-Type: text/html; charset=UTF-8'); 
    $lines file('good.txt'FILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES);
     
    // из good.txt берутся строки 
    $line1 "слово2";
    foreach (
    $lines as $line_num => $line) {
        echo 
    "  " htmlspecialchars($line),$line1 "<br />\n"// выводится результат
    }
    ?>
    Если убрать "$line1",то все корректно отображается,а если добавить его,то наоборот заданное в данной переменной отображается иероглифами,а содержимое "$line" во всех случаях нормально ...
    Как-то так...
    Дальше,есть еще один вопрос.Нужно также чтобы когда по варианту из лайн1 уже все сгенерировалось,он сразу начинал обрабатывать содержимое например пока не заданой переменной лайн2.И так по кругу,пока есть переменные(надеюсь вы меня поняли)
    Заранее спасибо!
    p/s - извиняюсь за ошибки и криво-русский
    • 0
  2. Гуру Аватар для Matsa
    • Регистрация: 11.02.2012
    • Сообщений: 1,344
    • Репутация: 558
    • Webmoney BL: ?
    Max111,

    не обещаю что получится, тут надо на практике потестировать, но попробуйте так:
    PHP код:
     <?php
    header
    ('Content-Type: text/html; charset=UTF-8'); 
    $lines file('good.txt'FILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES);
     
    // из good.txt берутся строки 
    $line1 "слово2";

    // попробуем на автомате определить что за кодировка
    $ch=mb_detect_encoding($line1); 

    //преобразуем в utf
    $line1=iconv($ch"UTF-8"$line1); 


    foreach (
    $lines as $line_num => $line) {
        
        
    //то же самое
        
    $ch=mb_detect_encoding($line); 

        
    //преобразуем в utf
        
    $line=iconv($ch"UTF-8"$line); 
        
        echo 
    "  " htmlspecialchars($line),$line1 "<br />\n"// выводится результат
    }
    ?>
    если не помогло перепроверьте кодировку испольняемого php файла и файла good.txt, перекодируйте всё в utf8
    Читаю https://bankstoday.net/ и стал разбираться в экономике и финансах
    • 1

    Спасибо сказали:

    Max111(17.02.2015),
  3. Опытный
    • Регистрация: 21.11.2013
    • Сообщений: 407
    • Репутация: 58
    Matsa,Да,помогло.Нужно было просто изменить саму кодировку документа в notepad. Но за скрипт тоже благодарю:) Осталось только это
    Дальше,есть еще один вопрос.Нужно также чтобы когда по варианту из лайн1 уже все сгенерировалось,он сразу начинал обрабатывать содержимое например пока не заданой переменной лайн2.И так по кругу,пока есть переменные(надеюсь вы меня поняли)
    Кто поможет?
    • 0
  4. Qui dicit eam omnia Аватар для Coder
    • Регистрация: 29.01.2015
    • Сообщений: 812
    • Репутация: 298
    Цитата Сообщение от Max111 Посмотреть сообщение
    Кто поможет?
    Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 1 сообщение(ий)):
    У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.
    • 0
  5. Гуру Аватар для Matsa
    • Регистрация: 11.02.2012
    • Сообщений: 1,344
    • Репутация: 558
    • Webmoney BL: ?
    Max111, возможно, я вас не правильно понял, но думаю вам надо следующее:

    вместо

    PHP код:
    $line1 "слово2"
    задавайте переменные типа $line1 массивом:

    PHP код:
    $arrLine=array($line1$line2$line3$lineN'и так далее'); 
    далее к существующему циклу добавьте вложенные, т е сделайте цикл в цикле:

    PHP код:
    foreach ($lines as $line_num => $line) {

            foreach (
    $arrLine as $item) {

                echo 
    "  " htmlspecialchars($line),$item "<br />\n"// выводится результат

            
    }


    ну и радуйтесь своему скрипту =))

    да кстати, можете дабавить проверочку перед втором циклом на тот случай, если массив окажется вовсе не массивом
    Последний раз редактировалось Matsa; 17.02.2015 в 18:31.
    Читаю https://bankstoday.net/ и стал разбираться в экономике и финансах
    • 0
  6. Опытный
    • Регистрация: 21.11.2013
    • Сообщений: 407
    • Репутация: 58
    Всем спасибо. Помогли решить проблему!Теперь буду сидеть и запускать его 100500 раз.:)
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Помогите подобрать хорошего хостинг-провайдера. Требования в "теле" вопроса.
Хостинг и Серверы 2 11.11.2013 16:49
Проблемы с кодировкой "Б����"
WordPress 10 18.10.2013 12:18
проблема с кодировкой, кнопка VK "Мне нравится"
WordPress 1 18.06.2013 13:15
"Сателлиты" \ "СДЛ" \ "Под Ключ" \ "Цена = Качество"
Создание сайтов 22 22.01.2013 02:36
Помогите убрать "плюс" и "минус"
Web программирование 3 16.11.2010 12:23

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры