Понадобилось. Чтобы поржать 😂. Чувствую, натерпитесь Вы ещё с этими горе-разработчиками. Чего можно ожидать от "специалиста", который на ходу теряет скобки и делает регистронезависимую замену десятичных цифр?
Знак "?" в этом случае отключает жадность. Как альтернатива - [^<]. И круглые скобки там ни к чему, если маску использовать не собираетесь.
1. Скрипт рассчитан на старую версию PHP, поэтому либо надо проверять на старой версии, либо заменять функции на новые.
2. Имеется конфликт с выводом заголовков: их нельзя выводить повторно.
Это если всё-таки есть желание проверить.
Игра стоит свеч, если сайт хорошо раскручен в поисковиках или очень вкусный домен. В любом случае надо CMS переустанавливать и менять хостинг. При смене CMS могут быть проблемы со ссылками и весь рейтинг в поисковиках слетит. Перенос даже в пределах Джумлы со старых версий на новую - это почти как на другую CMS перейти.
Это если переносы строк не использовать, а так бы прокатило. BBкод
зря используете, он квадратные скобки уродует.
И вообще, id должен быть уникальным, поэтому нечего ему там делать
x = x.match(/<div id="\w+">[^<]+<\/div>/g)
Да у него по ходу ничего из этого объекта не выводится, из того, что в коде написано.---------- Добавлено 21.10.2016 в 10:48 ----------
И не надо - это в общем случае, а здесь и regex_replace сработает. То, что предложил rereg, должно работать, наверное, какой-то нюансик не учтён, типа замены двойных кавычек на одинарные. На свежую голову наверняка увидите :).
Насчёт регулярки - я выше написал уже реально работающий код. Насчёт включения пхп в смарти и наоборот: пхп не воспринимает переменных смарти, а смарти плевать хотел на теги <?php ?> - отсюда и косяки. Вариант - зарегистрировать функцию смарти вне шаблона, а потом уже использовать её в шаблоне с аргументом $page.href.
В Смарти вместо preg_replace применяется regex_replace. Синтаксис:
Из стартового поста неочевидно было, что это Смарти. Теперь понятно, откуда это чудо с точкой - $page.href. Предупреждать надо, чистый PHP таких шуток не любит.:o