- 1
$new = preg_replace("/((\[{1}[^\[\]]+\]{1})|(\[{1}\]{1}))/", "", $a);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+167
$new = preg_replace("/((\[{1}[^\[\]]+\]{1})|(\[{1}\]{1}))/", "", $a);
метод тыка.... зато работеат
// я знаю, что такое регексп, но выглядит дико же.
не осилил мануалы
/\[.*?\]/
не удивлюсь если скоро это появиться в dreamweaver`e
неграмотность, Dreamweaver и PHP
казалось бы, что между ними общего
2. "умные" конструкторы
------ как раз туда, такой примочке и место
всё остальное, в том числе скриптинг - лютый, бешеный пиздец
но в те времена он совсем не радовал. даже для верстки html
особенно меня бесило, когда наверстаешь говносайт и он тупо пытает"ь"ся воткнуть в него 10 мета-тегов что, мол его сверстали на таком чуде как Dreamweaver, не знаю на кого это рассчитано? может на тех кто совсем не "программирует" html?
щас мне куда проще совсем не пользоваться всякими говноIDE, хотя может это и моразм.
надо было хорошо учиться
/\[[^\[\]]*\]/
Поэтому оба эти выражения встретив строку [abc] asd [cba]заменят ее на asd.
К.О. =)
Или, минимальный вариант: /\[[^[]*?]/.
Но в /\[[^[]*?\]/ и знак вопроса не нужен.
В общем, варианта два (вложенные скобочки мы опустим):
/\[[^[]*\]/ и /\[.*?]/ — второй, имхо, понятнее.
Это разные регэкспы. И результат их работы разный. Пример я приводил выше.
Разные, главное определиться, какую задачу решаем, а регэкспы можно слишком разные рисовать. Я смотрю, Вы уже внутренние скобки обрабатываете. А что со строкой то сделать надо? =)
P.S.: По наглядности Ваш первый вариант понятнее, иначе сейчас получается достаточно запутанно, а когда четко перечислины стоп-символы [^\[\]] сразу понятно, что происходит, не так быстро запутываешься.