Предлагаю помериться... Человеко-часами

[Удален]
#81
Aisamiery:
Это вы два раза обрабатываете строку? Ну ну, знаток)))

s/\[(?!a|\/a).*?\]//g; 
print;

Символы сами посчитаете?

работает

тут есть всё что я хотел от ответа.

1. жадность.

2. Отрицание

Вот человек видно что в теме.

S
На сайте с 13.10.2014
Offline
171
#82
miltorg:
Не работает

(\w{1,3}) в выражении означает, что тэг может быть любым символьным из 1-3 букв если вы туда напишете 12букаф оно работать не будет

(\w+) исправит эту "проблему"

так даже короче будет, только регулярка будет гораздо медленнее работать.

Aisamiery
На сайте с 12.04.2015
Offline
302
#83
miltorg:
Не работает

Но тут есть всё что я хотел от ответа.
1. жадность.
2. Отрицание - жалко что не работает

Для избранных: https://goo.gl/bFalNl

Кнопочку Execute нажмите и посмотрите в консоль зелененькую такую.

Так что символы считаем?

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
[Удален]
#84
miltorg:
работает

тут есть всё что я хотел от ответа.
1. жадность.
2. Отрицание

Вот человек видно что в теме.

Но тут была критика на то что это не сработает:

#!/usr/bin/perl

$_=q~[li class="menu-123"][a href="/kontakt" title="Контакт"]Контакт[/a][/li]

[ba-hhhhhhhhh]каля маля[/ba-hhhhhh] jjjjjjj [bb]каля-------маля[/bb]

[audio]Я текст из тега аудио[/audio]

~;

s/\[(?!a|\/a).*?\]//g;

print;

---------- Добавлено 17.02.2017 в 10:43 ----------

Aisamiery:
Для избранных: https://goo.gl/bFalNl

Кнопочку Execute нажмите и посмотрите в консоль зелененькую такую.

Так что символы считаем?

Не надо кнопочек. У меня вопросы не скопировались при переносе регулярки.

Mish-ka
На сайте с 08.06.2011
Offline
414
#85
Aisamiery:
Это вы два раза обрабатываете строку?

Можно и больше. Пять раз, например.

Символов больше получится )))

Серч уже не торт => https://se.guru
[Удален]
#86
silicoid:
(\w{1,3}) в выражении означает, что тэг может быть любым символьным из 1-3 букв если вы туда напишете 12букаф оно работать не будет
(\w+) исправит эту "проблему"

так даже короче будет, только регулярка будет гораздо медленнее работать.

Так я ему на это и указал увеличив число букв в теге от первоначального

---------- Добавлено 17.02.2017 в 10:57 ----------

Aisamiery:
Это вы два раза обрабатываете строку? Ну ну, знаток)))

s/\[(?!a|\/a).*?\]//g; 

print;

Символы сами посчитаете?

Красота. спасибо.

S
На сайте с 13.10.2014
Offline
171
#87
miltorg:
Так я ему на это и указал увеличив число букв в теге от первоначального

так замените на preg_replace('/\[(\w+)(\]|.*\])(.*)\[\/\\1\]/imU', '$3', $input);

и на вас снова наступит счастье

D
На сайте с 31.01.2017
Offline
15
#88
miltorg:
Красота. спасибо.

Это туда подставьте. Знаток.

[audio]Должен остаться только текст[/audio]
[a href="/kontakt" title="Контакт"][[[А тут текст со скобочками]]][/a]
Aisamiery
На сайте с 12.04.2015
Offline
302
#89
demiux:
Это туда подставьте. Знаток.

Специально для вас, читабильность немного потерялось, но на то они и регулярные выражения.

Magic:

s/\[(((?!(a|\/a)).+?)|(\/?[\w]+){2})\]//g;
S
На сайте с 13.10.2014
Offline
171
#90
demiux:
Это туда подставьте

мой вариант сожрал, как не странно ))

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий