|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
||||||||||||||||
Найти цифры в конце строки, которая начинается с введенного в $_POST-массив значения22.06.2019, 01:37. Показов 1608. Ответов 13
Метки нет (Все метки)
Есть файл из множества строк. Строки начинаются словами (буквенными выражениями на киррилице и латинице), затем идут три цифры, разделенных вертикальным слэшем. Есть форма поиска, куда вводится буквенное выражение (слово). Не могу написать код, чтобы по нажатию кнопки "поиск" находило введенное слово, а ещё лучше - цифру по счету в конце строки.
Содержание текстового файла file.txt:
0
|
||||||||||||||||
| 22.06.2019, 01:37 | |
|
Ответы с готовыми решениями:
13
Найти номер строки, которая начинается с К положительных чисел подряд
|
|
Невнимательный
|
||||||
| 22.06.2019, 04:09 | ||||||
|
Имхо тут логичнее что-то типа split/explode
что-то вроде этого, если правильно "цифру по счёту в конце строки"
....isset($_POST['poisk']) вместо isset($_POST['search'])
1
|
||||||
|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
||
| 22.06.2019, 10:38 [ТС] | ||
|
Ваш вариант вроде бы работает. Строку (слово плюс цифры ищет). Попробую вытянуть из этого все что мне нужно, ато сходу не понял, как отдельную цифру искать. По результату отпишусь. Если что - буду дальше вопросами мучать )
0
|
||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||||
| 22.06.2019, 10:46 | ||||||
1
|
||||||
|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
||||||||
| 23.06.2019, 17:59 [ТС] | ||||||||
|
Но придумал как сделать это с помощью регулярки, как и хотел изначально. Только тоже не знаю что потом с этим делать...
0
|
||||||||
|
Невнимательный
|
|||
| 23.06.2019, 19:18 | |||
Я-бы написал "правильно подсмотрели $_POST['Rotv'] в коде страницы"для чего? Из Вашего описания желаемого результата, как и из фрагментов кода не понятно ничего.
0
|
|||
|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
|||
| 23.06.2019, 19:36 [ТС] | |||
|
Правильный ответ(слово)|число правильных ответов|число неправильных ответов|общее число попыток| Есть ещё мысли сделать счетчик правильных ответов подряд, но с этим пока можно подождать. Поэтому в конце концов найденное слово нужно найти и заменить в нем значение статистики. В примере я пока всю строку меняю, но потом надеюсь по образцу поменять нужные мне значения. Тем более что как я прочитал в шаблоне как-то можно куски шаблона приравнивать переменной. Вот четыре куска шаблона $1$2$3$4 приравнять переменным и менять как значения. А записывать в файл как я понимаю функцией file_put_content. Ну а честно говоря, с вашим вариантом пока не придумал как такое можно сделать
0
|
|||
|
Невнимательный
|
|||||||
| 24.06.2019, 00:11 | |||||||
|
Всё-равно не понятно .) слов как-бы 3 , слово-перевод-угаданное
т.е. слова в файле это второе? а ввод юзера это третье // если не брать в расчёт того что у одного слова чаще несколько переводов Насчёт изменения-добавления строки, можно конечно тупо считать весь файл, даже например с file() в массив , но по идее при возможной одновременной записи надо его всё-равно открывать и блокировать... Я-бы наверное что-то вроде такого для себя налепил-бы ,)
И $words это тоже жёстко .) Для такого создают базы данных Добавлено через 27 минут Как вариант добавить в цикл && что-то или что-то в preg_match ??....
0
|
|||||||
|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
|||||||
| 24.06.2019, 01:29 [ТС] | |||||||
|
Есть файл с парами слов в виде english word=английское слово (значение=перевод). Есть файл ответов, где только перевод и статистика по нем (как раз тот, где данный кусок кода ищет слово с цифрами). Ведь зачем искать пару? Теоретически можно после статистики втиснуть синонимы через вертикальный слэш, но пока бы разобраться с основной частью. Про БД мне ещё рано думать )) Только с апреля учу пхп. Дальше тоже все вроде бы просто. Из файла пар слов (словаря) рандомно выбирается английская часть и высвечивается на экране. Её русское значение записывается в скрытое поле (но пока открытое). В соседнем поле вводится русский перевод. По нажатии кнопки введенный текст проверяется на совпадение с текстом из скрытого и проверяется в файле ответов (мини БД). Если там этого ответа раньше не было, то слово со статистикой дописывается и выводится на экран. Если было то просто выводится инфа с числом правильных/неправильных/общего числа переводов (потом все это организуется в отдельной форме в виде какого-нибудь табло). Выбор пары слов и разбивка на англ и рус часть делается с помощью регулярки и записывается в массив, где англ слова - ключи, а рус - значение.
0
|
|||||||
|
Невнимательный
|
||||||
| 24.06.2019, 04:41 | ||||||
|
Как-бы почти то-же,) но незнаю
, если есть такое большое желание загрузить в память целых два файла сразу...
Особенно если в файлах 10-ки тысяч пар слов .) и не из-за того, что Regex работают медленнее строковых и т.п. Добавлено через 32 минуты И да, модификатор /i не будет правильно работать с utf-8, если в системе нет локали типа ru_RU.UTF-8 тогда в начале нужно поставить setlocale(LC_ALL, 'ru_RU.UTF-8');, как и например strtoupper() strtolower() ... В виндовс я не знаю какая нужна строка и есть-ли такая
1
|
||||||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|||||||||||
| 24.06.2019, 11:59 | |||||||||||
|
Все делается гораздо проще с использованием бд, хотябы sqlite. Если бд совсем нет желания использовать, то так:
1
|
|||||||||||
|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
|||||||||||||||||||||||||
| 24.06.2019, 21:54 [ТС] | |||||||||||||||||||||||||
|
Ещё ваш пример работает, но есть пару но: 1. Дает слова и англ и рус. А хотелось только англ, а уже к ним перевод писать в поле инпут. 2. Пишется затирая все ответы со статистикой, оставляет только последний. 3. У меня ругался на eval, типа нет такого модификатора, но при этом все меняло. Ошибка такая
Вот, что получилось:
И почему-то в этот раз с вашим примером сходу не разобрался... Особенно с файлом "storage.php". Добавлено через 29 минут Нашел у себя небольшую опечатку. Везде в шаблоне замены стоит лишний пробел в третей части шаблона
Надо так:
0
|
|||||||||||||||||||||||||
|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
|||||||||||||||||||||||||
| 03.07.2019, 18:09 [ТС] | |||||||||||||||||||||||||
|
Дошли руки опять вернуться к этой задаче.
охрана|3|4|5| беспомощность|4|5|6| обязанность|5|6|7| дыхание|6|7|8| То слово "охрана" не найдет. Даже, если я отдельно ответы сразу в массив записываю, а не из файла беру.
0
|
|||||||||||||||||||||||||
|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
||||||
| 04.07.2019, 01:10 [ТС] | ||||||
|
Разобрался с поиском первого слова. Оказывается strpos возвращает позицию или false, поэтому условие === true никогда не выполнится, эта функция true не возвращает. То же самое и с array_search. Поэтому заменил на:
Ну а по поводу поиска синонимов, если не придумаю как быть с разноразмерными массивами, то начну новую тему. Если придумаю - напишу тут.
0
|
||||||
| 04.07.2019, 01:10 | |
|
Помогаю со студенческими работами здесь
14
Удаление цифры 0, в конце строки TASM массив - добавление цифры в конце урла Программа, которая выводит на экран все цифры введенного пользователем числа через пробел в прямом порядке
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|