Skip to content
Simple plugin to use regexp's on the Joomla! output buffer.
PHP
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
LICENSE.txt
README.md
contentreplacer.php
contentreplacer.xml
index.html

README.md

Content Replacer

Content Replacer to prosty plugin, który może być wykorzystywany do łatwej podmiany fragmentów strony w buforze wyjściowym Joomla! poprzez wyrażenia regularne.

Działanie

Plugin na podstawie podanych wyrażeń regularnych podmienia tekst na zadane ciągi znaków. Umożliwia to bardzo łatwą podmianę wybranych elementów strony bez modyfikacji kodu źródłowego zainstalowanych rozszerzeń itp.

Kompatybilność

Plugin został przetestowany na Joomla! w wersji 2.5.8

Konfiguracja

Plugin w panelu administracyjnym posiada dwa pola:

  • Wyrażenia regularne
  • Podmieniony tekst

W pierwszym polu wprowadzamy rozdzielone nowymi liniami wyrażenia regularne, a w drugim polu podajemy ciągi znaków, które zostaną wykorzystane do podmiany wyselekcjonowanych przez wyrażenia tekstów.

Uwaga I! Wyrażenia regularne należy otaczać znakami @ oraz dodawać na ich końcu flagi wyrażeń regularnych obsługiwane przez język PHP np. mis

Uwaga II! Ilość wyrażeń regularnych i podmienionych tekstów MUSI się zgadzać - w przeciwnym wypadku plugin nic nie podmieni.

Przykłady wyrażeń regularnych i tekstów wykorzystywanych do podmiany:

Aby podmienić na stronie nazwę Joomla! na Wygodny CMS wystarczy stworzyć w opcjach wyrażenie regularne:

@Joomla!@

oraz w podmienionym tekście stworzyć linijkę:

Wygodny CMS

Warto pamiętać o tzw. grupach przechwytujących z ich użyciem można dokonać bardzo złożonych przekształceń. Przykładowo możemy zmienić wszystkie wystąpienia słowa Joomla! na:

<big>Joomla!</big>

W tym wypadku wykorzystamy znane nam już wyrażenie regularne:

@Joomla!@

ale za to podmieniony tekst będzie wyglądał następująco:

<big>${0}</big>

${0} oznacza pierwszą grupę przechwytującą, w tym wypadku jest to cały wyselekcjonowany przez wyrażenie regularne tekst. Oczywiście grup przechwytujących może być więcej. Przykładowo w wyrażeniu regularnym:

@(J)oomla(!)@

Będziemy mieli do dyspozycji następujące grupy przechwytujące:

  • ${0} - zawierającą Joomla!
  • ${1} - zawierającą J
  • ${2} - zawierającą !

Zachęcam do zgłębiania tajników wyrażeń regularnych, gdyż odpowiedni dobór flag, zachłanności wyrażeń i wykorzystanie grup przechwytujących daje ogromne możliwości wykorzystania tego pluginu.

Uwagi

Cache

W wypadku kiedy włączony jest cache prosze pamiętać by na liście pluginów umieścić plugin cache na liście tak by wykonywał się po pluginie System - Content Replacer, bez tego zmiany dokonane przez plugin System - Content Replacer będą niewidoczne, ponieważ wygenerowana strona zostanie zapisana w cache przed dokonaniem zmian.

Kolejność wyrażeń regularnych

Warto pamiętać, że jeżeli wyrażenia regularne będą operować na tych samych ciągach znaków, tzn. dany ciąg znaków kwalifikuje się do podmiany przez dwa lub więcej wyrażeń regularnych to kolejność tych podmian będzie zgodna z kolejnością wyrażeń w opcjach pluginu. Czasem może to prowadzić do sytuacji, kiedy to może się wydawać, że dane wyrażenie regularne jest błędne, ale może to być spowodowane faktem, że pierwotny kod/tekst został podmieniony przez wcześniejsze wyrażenie regularne i kolejne wyrażenie regularne już nie wychwytuje zmienionego tekstu. W tym wypadku najlepiej spróbować zmiany kolejności wyrażeń regularnych lub tworzyć je tak by uwzględniały poprzednie modyfikacje.

Problemy? Pytania?

W razie problemów, pytań zapraszam do tworzenia wątków w sekcji "Issues"

Something went wrong with that request. Please try again.