Форум программистов, компьютерный форум, киберфорум
PHP: RegExp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Заблокирован

Исключить любые символы

29.10.2024, 09:19. Показов 631. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    $src = '
    текст  текст  текст
 
      00:00 США — страна мигрантов
  текст  текст
00:01:17 Новый поток российских мигрантов
   00:03:45 - Как пересечь мексиканскую границу?
00:07:32 Подарок Мексики автомобилистам
00:10:06 Истории русских из Тихуаны
  текст
00:14:43 Как выглядит граница с США
  00:17:38 Сан-Диего: суета на границе и трамвай
00:19:20 Как попасть в США без визы?
  текст';
 
$text = preg_replace_callback('#^(\h*)(\d\d:\d\d(?>:\d\d)?)(\h*)(?=\h*+(\V*+))#mi', function($m) use (&$episode) {
    $episode[$st = ($t = explode(':', $m[2]))[2] ? ($t[0] * 60 * 60 + $t[1] * 60 + $t[2]) : ($t[0] * 60 + $t[1])] = $m[4];
    return "{$m[1]}<span data-type='episode'>{$m[2]}</span> ";  
}, $src);
 
 
print_r($episode);
В целом работает
(\h*) - В начале строчке возможно пробелы, как указать что в начале строчки не только пробелы могут быть . Но и различные символы, до таймига.
(\h*) - Тоже самое указать мосле тайминга, что не только пробелы но и различные символы до первой буквы...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2024, 09:19
Ответы с готовыми решениями:

Любые символы кроме кириллицы
Не получается составить регулярку которая бы выбирала все кроме символов кириллицы. Функция возвращает FALSE, если элемент формы не...

Выражение типа /любые буквы и цифры, но не символы/
Никак не могу сделать такое регулярное выражение: Начинается только с / может заканчиваться на /, но может и не заканчиваться на...

Учесть любые символы в строке
Добрый день. Есть строка: if($text_chat == &quot;!warn&quot;){ ... } Соответственно обработчик данной строки, учитывает только если в...

7
Невнимательный
 Аватар для ft4l
2837 / 1262 / 358
Регистрация: 08.02.2013
Сообщений: 7,350
Записей в блоге: 2
29.10.2024, 11:28
Лучший ответ Сообщение было отмечено Dmit199 как решение

Решение

Цитата Сообщение от Dmit199 Посмотреть сообщение
не только пробелы могут быть . Но и различные символы, до таймига.
всё кроме цифр и переносов можно откусить... во втором случае букв
но например "название" может начинаться как с цифр так и с букв.

Как вариант, какой-то подвид только символов откусывать
типа тире всяких [\h\pP]* или + математические ещё какие =+() [\h\pP\pS]*

PHP
1
2
3
4
5
6
7
8
9
$text = preg_replace_callback('#^[\h\pP\pS]*(\d\d(?>:\d\d){1,2})[\h\pP\pS]*\K\V*#umi', function($m) use (&$episode) {
    $k = array_pad(explode(':',$m[1]), -3,0); //дополнение слева нулями... если 00:45
    $k = 3600*$k[0] + 60*$k[1] + $k[2];
    $episode[$k] = $m[0];
    return "{$m[1]}<span data-type='episode'>{$m[0]}</span> ";  
}, $src);
 
 
var_export([$episode, $text]);
Добавлено через 4 минуты
Цитата Сообщение от ft4l Посмотреть сообщение
кроме цифр и переносов можно откусить... во втором случае букв
кроме цифр,букв и переносов
1
Заблокирован
29.10.2024, 12:47  [ТС]
Возможно ли в массиве $m, по мимо временной метки и строчки, так же получить те символы что в начале строчки и те что после временной метки.

Необходимо обернуть временную метку в тексте, а символы оставить.
В переменно $episode, собрать временную метку и строчку, только строчку же без символов в начале
0
Невнимательный
 Аватар для ft4l
2837 / 1262 / 358
Регистрация: 08.02.2013
Сообщений: 7,350
Записей в блоге: 2
29.10.2024, 13:36
Лучший ответ Сообщение было отмечено Dmit199 как решение

Решение

Цитата Сообщение от Dmit199 Посмотреть сообщение
обернуть временную метку в тексте, а символы оставить.
Тогда наверное да, придётся все подстроки захватывать подмасками
PHP
1
2
3
4
5
6
$text = preg_replace_callback('#^[\h\pP]*\K(\d\d(?>:\d\d){1,2})([\h\pP]*)(\V*)#umi', function($m) use (&$episode) {
    $k = array_pad(explode(':',$m[1]), -3,0); //дополнение слева нулями... если 00:45
    $episode[3600*$k[0] + 60*$k[1] + $k[2]] = $m[3];
 
    return "<span>{$m[1]}</span>{$m[2]}<span data-type='episode'>{$m[3]}</span> ";  
}, $src);
Или может ещё как ... вариантов зависит от фантазии.)
1
Заблокирован
29.10.2024, 14:27  [ТС]
Все супер
0
Заблокирован
29.10.2024, 22:21  [ТС]
Возможно подфиксить
0:00
1:04

Чтобы и такой вариант находила
0
Невнимательный
 Аватар для ft4l
2837 / 1262 / 358
Регистрация: 08.02.2013
Сообщений: 7,350
Записей в блоге: 2
29.10.2024, 22:47
Цитата Сообщение от Dmit199 Посмотреть сообщение
вариант
Цитата Сообщение от ft4l Посмотреть сообщение
'#^[\h\pP]*\K(\d\d(?>:\d\d){1,2})([\h\pP]*)(\V*)#umi'
... '#^[\h\pP]*\K(\d\d?(?>:\d\d){1,2})([\h\pP]*)(\V*)#umi'
пройдёт 0:00:00 но не пройдёт 0:0:00
1
Заблокирован
29.10.2024, 23:00  [ТС]
Супер
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.10.2024, 23:00
Помогаю со студенческими работами здесь

Дан текст, исключить из него все символы, расположенные между круглыми скобками сами скобки также исключить
Пожалуйста!!! Добавлено через 7 минут На code blocks

Создать очередь, содержащую любые символы. Удалить из очереди все символы, не являющиеся буквами или цифрами
Используя динамические структуры, реализовать следующие задания. Вспомо*гательные функции должны быть написаны самостоятельно (Встроенную...

Дан текст, в который входят любые символы. Удалить из него все символы не являющиеся буквами или цифрами
Дан текст, в который входят любые символы. Удалить из него все символы не являющиеся буквами или цифрами Помогите пожалуйста)))

Функция .replace - любые символы, возможно ли?
Как этой функции указать - замену любого количества символов в строке от значения и до значения, на то что требуется мне? Например мне...

Любые символы внутри скобок - регулярное выражение
не уверен в каком разделе это надо было спросить. нужно найти в тексте выражение типа &quot;if(&lt;...&gt;){&lt;...&gt;} где...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru