Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/19: Рейтинг темы: голосов - 19, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 6

Работа с текстом

15.12.2010, 13:03. Показов 3578. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток!

Попросили помочь с одной задачей, а т.к. я начал изучать пхп решил использовать именно его.

В прикрепленных файлах исходники обрабатываемого файла.

Начнем по порядку с возникновением проблем
1. имя файла (A) ЗВЕЗДА.txt и не желательно его менять. Первоначально все загружалось, все работало, но потом перестало... скрипт стал писать что нет такова файла. Помогло только переименование файла в латиницу или в 1.txt

Можно ли загрузить данные из файла именно с таким именем ?

2. Загружаем файл, создаем массив, каждая строка файла = строка массива.

3. нужно поделить файл по дням недели. в файле есть название таких дней ( Понедельник, Вторник и тп....) Но вот я никак не могу заставить скрипт найти что то отличное от чисел или латиницы:

Рассмотрим фрагмент:
HTML5
1
2
3
4
Анонсы телеканала "Звезда"
с 13 по 19 декабря 2010 г.
 
Понедельник, 13 декабря
ищем "2010" - есть результат
ищем "2010 " - есть результат
ищем "2010 г" - нет результата

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$src = fopen("3.txt", 'r'); // 'r' указывает функции открыть файл для чтения
while(!feof($src)) //пока не достигнут конец файла - делаем
{
    $line[] = fgets($src); //пишем каждую строку в массив
    $line++;
}
fclose($src);// закрываем файл
$tmp="Анонсы";
for ($w=0; $w<=10; $w++) {
    /*
    if(strlen($line[$w])==2){echo 'none';};
    */
    if(strpos($line[$w],'2')!== false)
    {
        echo 'yes ';
        echo $line[$w]."<br>";
    } 
    else 
    {
        echo 'no ';
    }
}
нид хелп
Вложения
Тип файла: rar (A) ЗВЕЗДА.rar (10.6 Кб, 23 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.12.2010, 13:03
Ответы с готовыми решениями:

Работа с текстом
Доброго времени суток! Нужно слова текста поместить в массив(элемент массива = слово). Есть такой код: function...

Работа с текстом
Допустим: У меня есть текст длинной n символов, чтобы не &quot;портить&quot; сайт нужно через каждые 50 символов переносить текст на новую...

Заменить во введенном тексте одно заданное словосочетание на другое
Написать программу, позволяющую заменить в введенном тексте одно заданное словосочетание на другое. Привести модификацию программу,...

15
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
16.12.2010, 00:46
Цитата Сообщение от Вертекс Посмотреть сообщение
Первоначально все загружалось, все работало, но потом перестало... скрипт стал писать что нет такова файла.
почему потом перестало, что то поменяли?

Добавлено через 4 минуты
Цитата Сообщение от Вертекс Посмотреть сообщение
нужно поделить файл по дням недели
что значит поделить файл? создать еще файлы по каждому дню?
0
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 6
16.12.2010, 06:18  [ТС]
в настройках ничего не менял, скрипт специально написал по новой....

Можно просто создать массив по дням недели....

Итог - нужно вытащить название фильма, год, жанр, страна
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
17.12.2010, 15:12
А был ли мальчик?
А точно это хоть когда-то работало?
Там в описаниях фильмов бывает отсутствует Страна и Жанр.
0
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 6
17.12.2010, 18:42  [ТС]
Цитата Сообщение от hellpass Посмотреть сообщение
А был ли мальчик?
А точно это хоть когда-то работало?
Там в описаниях фильмов бывает отсутствует Страна и Жанр.
Да работало...

еще раз проверил, но дома... на удивление работает и с русским именем файла и с поиском русского текста...

Дома и на работе win7, но дома eng со скачанным русским паком, а на работе исключительно русская

вот текст

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$src = fopen("0.txt", 'r');
while(!feof($src))
{
        $line[] = fgets($src);
        $line++;
}
fclose($src);
 
for ($w=0; $w<=10; $w++) {
        if(strpos($line[$w],'Анонсы')!== false)
        {
                echo 'yes ';
                echo $line[$w]."<br>";
        } 
        else 
        {
                echo 'no ';
        }
}
в чем собака порылась ??

С отсутствием жанра ничего сделать не смогу... файл ко мне приходит с канала, придется писать отдельное условие

ps: юзаю wamp, настройки не менял => "из коробки"
0
Йошь-мыслитель
 Аватар для Xander Bass
126 / 120 / 26
Регистрация: 22.02.2009
Сообщений: 706
Записей в блоге: 5
17.12.2010, 20:16
Вертекс, а опишите-ка подробнее машинку, на которой работает, и машинку, где не работает.

Добавлено через 47 секунд
Опишите в том числе и какое ПО (касаемо PHP) стоит на той и другой машинке.
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
17.12.2010, 20:28
Цитата Сообщение от Вертекс Посмотреть сообщение
$line[] = fgets($src);
что такое $line[]? может как то объявить его сначала
PHP
1
$line = array();
а дальше как есть.
0
Йошь-мыслитель
 Аватар для Xander Bass
126 / 120 / 26
Регистрация: 22.02.2009
Сообщений: 706
Записей в блоге: 5
17.12.2010, 22:02
Цитата Сообщение от Вертекс Посмотреть сообщение
$line[] = fgets($src);
$line++;
Чёт хрень (пардон за мой french) какая-то.
Во-первых для инициализации массива нужен хотя бы индекс элемента. Во-вторых, счётчик и массив должны быть разными вещами.
Нужно так:
PHP
1
$line = array(); $_c = 0; while ($_str = fgets($src)) { $line[$_c] = $_str; $_c++; }
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
17.12.2010, 22:34
Это обсолютно правильная запись.
PHP
1
$line[] = fgets($src);
а вот
PHP
1
$line++;
уже по french.

Вообще приведенный скрипт ни чего не делает и не мог делать!
0
Йошь-мыслитель
 Аватар для Xander Bass
126 / 120 / 26
Регистрация: 22.02.2009
Сообщений: 706
Записей в блоге: 5
18.12.2010, 01:47
Цитата Сообщение от hellpass Посмотреть сообщение
Это обсолютно правильная запись.
Да, правда, пардоньте Действительно правильная запись. Тогда надо проще.
PHP
1
$line = array(); while(!feof($src)) $line[] = fgets($src);
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
18.12.2010, 08:52
Смысл скрипта примерно такой. Всё содержимое файла засунуть в массив.
И потом найти в нем строку содержащую "Анонс" и вывести ее на экран)
0
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 6
18.12.2010, 10:01  [ТС]
Не буду цитировать все...просто отвечу по всем вопросам...

Скрипт взят тут не берусь говорить за правильность, крутость и т.д. этого ресурса.

Скрипт работает... если у вас нет возможность его проверить, не нужно говорить, что он не работает.

Да! скрипт каждую строку помещает в отдельную строку "массива", а дальнейшая работа будет происходить с массивом.

Про по

и там и там стоит wamp
в одном месте win 7 ru pro
в другом win 7 eng, затем при установке скачан и установлен русский язык (все через меню винды) ультимат

наверное переустановлю wamp и там и там для наведения чистоты эксперемента
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
18.12.2010, 11:15
Не, тут не в Win 7 и не в Wamp дело. Сейчас что-нить придумаю.
0
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 6
18.12.2010, 12:19  [ТС]
Цитата Сообщение от hellpass Посмотреть сообщение
Не, тут не в Win 7 и не в Wamp дело. Сейчас что-нить придумаю.
те кодировки операционки, где стоит пхп не причем ?
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
18.12.2010, 13:10
Неа, не причем. а файл который открывается случайно ни кто не правил? Вот кодировка файла это уже другое дело.
0
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 6
18.12.2010, 20:06  [ТС]
Файл... вот тут не скажу, тот что дома точно никто не менял, т.к. даты приходящего файла и того с которым работаю совпадают, что с ним было до того как без понятия... да и повлиять то я не могу никак.

Но желательно как то исключить этот момент, т.к. есть файлы в формате ворда и там просто придется делать копипаст в блокнот.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.12.2010, 20:06
Помогаю со студенческими работами здесь

Работа с текстом
Привет всем, у меня есть текст выглядит так: Вода Сок Морс Как мне каждую строку взять как отдельный текст например что бы...

Работа с текстом
Здравствуйте. Допустим у меня есть переменная $row как сделать проверку его начинания с конкретной буквы.Допустим все которые начинаются...

Работа с текстом
Есть файл db.php в нем такой текст Name|ID Name2|ID Name3|ID3 На сервер идет запрос с Name, а в ответ должен придти айди)...

Работа с текстом
Всем привет! Возник такой вопрос, как можно это реализовать. Есть папка project. В ней есть папка result, в которой есть файл res и папка...

Работа с текстом
Всем привет, у меня есть переменная, которая хранит текст. Как только в этой переменной попадается знак &quot;!&quot;, все что следует за...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru