Я перебрал столько сообщений в Интернете, пытаясь отсортировать это ....
Я интегрирую небольшую функцию поиска в скрипт php ....
Я пробовал много скриптов, включая in_array
(работает только для полного соответствия) и array_search
и, кажется, ничего не работает ....
У меня есть скрипт, который создает массив с именами файлов (все в формате "Random-Name-1.ext")
но скрипт удаляет расширение файла, просто оставляя имена файлов ....
все имена файлов разделены слово за словом с -
все слова имеют заглавную букву ....
массив называется $files1
;
строка поиска называется $search_string
;
то, что я искал, было бы вдоль строк цикла foreach, чтобы проверить, содержится ли строка поиска в какой-либо части каждого значения массива, и если это так, поместите полное значение массива в другой массив с именем $search_results
так как следующей части моего скрипта для разбивки на страницы требуется массив $search_results
, чтобы отобразить каждое из имен файлов и отобразить их по 10 на страницу ....
надеюсь, что этой информации достаточно, я работал над ней целую вечность и ломал голову, пытаясь найти правильный код ....
заранее спасибо
..........
...........
EDIT .....
.......
........
получил скрипт, работающий с preg_grep ..... но теперь у меня небольшая проблема ....
скрипт перед поисковым кодом предназначен для получения URL страницы поиска с q = {строка поиска}
и затем обрежьте это так, чтобы я просто использовал строку поиска в качестве переменной .....
Я использую str_replace, чтобы изменить URL страницы с
/games-search?q={search-string}
to {search-string}
это прекрасно, но скрипт для разбивки результатов по 10 на страницу добавляет? Page = 2 к URL-адресу ....
, поэтому, когда я щелкаю страницу 2, str_replace для изменения URL-адреса на строку поиска теперь не работает, так как новый URL-адрес страницы 2 -
/games-search?page=2&q={search-string}
Я пытался сделать еще один str_replace, чтобы изменить последовательные URL страниц на просто строку поиска, но у меня возникли проблемы с регулярным выражением для определения номера страницы .....
номера страниц варьируются от 1 до 50 (не более 99, поэтому для совпадения будет достаточно двух цифр ...
Сегодня я снова и снова пытался сделать это регулярное выражение правильным, но я не уверен, правильно ли я поступлю ...
вот мое последнее усилие ....
/games-search?page=(^[0-9][0-9]+)&
это то, что я пытаюсь заменить на "" (например, ничего)
так как мне нужны только данные после символа & в URL-адресе ... и если ЕСЛИ URL-адрес даже содержит это (например, первая страница, когда в URL-адресе отсутствует символ & - если в URL-адресе отсутствует символ & персонаж, я не хочу его изменять, так как у меня уже есть данные, которые мне нужны)
Еще раз спасибо, если кто-нибудь может помочь
решил не разбивать на страницы результаты каждого поиска, так как никогда не будет более 15 результатов ..... это нормально, но я собираюсь реализовать минимальную длину поиска 4 символа, чтобы она не вызывала 500 результаты на букву А:)