2016-07-12 2 views
0

Я сделал сайт, используя php. В некоторых местах я помещал эти php-теги <?php ?> в другие места только те <? ?>.RegExp для исправления php-тегов

После миграции сервера последние теги не работают из-за различий в версии PHP. Новый сервер понимает только теги <?php ?>.

Есть ли какие-либо простые регулярные выражения, которые вы можете мне предоставить, чтобы заменить все <? some php code here ?> на <?php some php code here ?>.

+0

Попробуйте '' # <\? (? Php) (. *? \?>) # S'' и замените на ''

+0

Вы можете добиться этого с помощью хорошей IDE, используя это поиск и замена всех в рамках проекта (CTRL + H), чтобы заменить все короткие теги полными тегами. –

+0

@ WiktorStribiżew Мне пришлось удалить # и последние s и кавычки, затем он работал как магия. Большое спасибо, сэр! –

ответ

1

У вас есть две возможности:

  1. Включить короткие теги с short_open_tag=On в php.ini
  2. Вы можете использовать отрицательный предпросмотр: <\?(?!php) эти потребности должны быть заменены <?php см a demo on regex101.com.
+1

Спасибо, что не знал о short_open_tag –

+0

Мне пришлось использовать <\? ((PHP |?! PHP | XML | XML | =)) (*). –