preg_replace()
требует символа разделителя:
preg_replace("/$pat/" ...
Традиционно это косая черта, но это может быть любой символ - особенно если вам нужна косая черта в самом регулярном выражении, вы можете прибегнуть к другому персонаж.
Эта гибкость позволяет вам выразить "/http:\/\/foo\/bar\//"
(«синдром наклона зубочистки») как "!http://foo/bar/!"
.
Символ разделителя необходим для отделения регулярного выражения от флагов регулярных выражений (aka «модификаторы»), например:
preg_replace("/$pat/i" ...
... для этого используется флаг i
для объявления не зависящего от регистров регулярного выражения.
У меня была та же проблема сегодня с обновлением Drupal, и следующий процесс помог мне решить эту проблему.
composer require drupal/core:8.6.12 --update-with-dependencies
. Если есть проблема, блокирующая обновление, это должно показать вам список проблем. в моем случае я попытался обновить его до версии 8.6.11, и он вывел следующее. Задача 1
. Запрос на установку drupal / core 8.6.11 -> выполняется с помощью drupal / core [8.6.11].
. Можно установить только одно из: twig / twig [1.x-dev, v1.35.3].
. Можно установить только одно из: twig / twig [v1.35.3, 1.x-dev].
. Можно установить только одно из: twig / twig [1.x-dev, v1.35.3].
. Для drupal / core 8.6.11 требуется ветка / ветка ^ 1.38.2 -> выполнимая веткой / веткой [1.x-dev, v1.38.2].
. Вывод: не устанавливайте twig / twig v1.38.2
. Запрос на установку ветки / ветки (заблокирован в v1.35.3, требуется как ^ 1.35.0) -> выполняется веткой / веткой [v1.35.3].
blockquote>
- Если в списке нет проблем, попробуйте очистить кэш композитора
composer clearcache
, а затем повторите команду обновления.- Вы также можете попробовать запустить команду Why-Not Composer, чтобы увидеть, выделяет ли это какие-либо проблемы
composer why-not drupal/core:8.6.12
В моем случае проблема заключалась в том, что компонент ветки, необходимый для 8.6.12, был v1 .38.2, но был ограничен более низкой версией 1.35 в файле композитора. Я использовал следующую команду для обновления версии ветки, и это позволило мне обновиться до Drupal 8.6.12, используя мой обычный процесс обновления.
composer require twig/twig:1.35.2
Надеюсь, это поможет.