почему не работает регулярное выражение?

программирование php регулярные выражения

\[code\]([^\[code]*)\[/code\]

[code]# защищаем wpconfig.php
order allow,deny
deny from all
#защищаем htaccess
order allow,deny
deny from all
[/code]

Примечание:
так и у меня работает, но ты идею немного упростил. все равно спасибо!

Примечание:
например, вот так $pattern = "#\[code\]([^\[/code]+)\[/code\]#"; уже не работает

Примечание:
смысл такой:
если у пользователя вдруг в коде встретится символ "[", то регулярное выражение найдено не будет. т.е., он заранее не может вставить код, в котором содержится, например, массив

Примечание:
вот это то, что нужно, спасибо со матч!!!
Ответы:
Всё работает
<?php
$str = "[code]# защищаем wpconfig.php
order allow,deny
deny from all
#защищаем htaccess
order allow,deny
deny from all
[/code]";
$pattern = "#\[code\]([^\[]+)\[/code\]#";
preg_match_all($pattern, $str, $out);
echo "<pre>";
print_r($out);
echo "</pre>";
?>


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.