PDA

Zobacz pełną wersję : Even list i błąd funkcji ereg



grad
19-01-2012, 22:14
Mam stronkę na joomla 1.5.x. Działa ona pod kontrolą php 5.3. Cały problem polega na tym, że po zainstalowaniu komponentu even list pojawia się bład, ponieważ funkcja ta jest przestarzała i należy ją zastąpić czymś innym. Dokładnie komunikat brzmi:

"Deprecated: Function ereg() is deprecated in /home/xxxxxxxxxxxx/public_html/components/com_eventlist/views/details/view.html.php on line 166"

Stosowny fragment kodu wygląda pliku z błędem wygląda nastepująco:

if (ereg("[/[/\]",$keyword)) {
$keyword = trim(str_replace("[","",str_replace("]","",$keyword)));

Należy to zastąpić funkcją preg_match (tak znalazłem w manualu PHP. Jednak próba zamiany na:

if (preg_match("[/[/\]",$keyword)) {
$keyword = trim(str_replace("[","",str_replace("]","",$keyword)));
nic nie daje bo znów wywala błąd.

Warning: preg_match() [function.preg-match]: No ending matching delimiter ']' found in

Wiem, że na "sztywno" zamieniłem funkcje, ale wydaje mi się to zgodne z manualem, gdzie opisana jest konstrukcja tej funkcji.

http://www.php.net/manual/pl/function.preg-match.php
coś ciekawego w tej materii znalazłem również tutaj
http://stackoverflow.com/questions/3069900/ereg-to-preg-conversion

Gdzie tkwi błąd? I jak to ewentualnie naprawić?
Pozdrawiam:D

---------- Post dodany o 22:14 ---------- Poprzedni post był o 21:55 ----------

No i sam znalazłem odpowiedź po prostu zastosowałem zły zapis składni wzorca. umieszczam go bo może komuś to pomoże;
if (preg_match("[\[]",$keyword)) {
$keyword = trim(str_replace("[","",str_replace("]","",$keyword)));
I już działa poprawnie. Pozdrawiam miłych forumowiczów.