Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] zamiana na preg_replace_callback
szybki
post 3.11.2015, 15:48:37
Post #1





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.06.2014

Ostrzeżenie: (0%)
-----


Modyfikator /e za jakiś czas wyleci z PHP, dlatego chciałbym się na to przygotować. Obecnie mam coś takiego:

  1. $match[1] = preg_replace('/(?<=^|[a-z])./e', 'strtoupper("\0")', strtolower(trim($match[1])));


I żeby to było zgodne z nowszymi wersjami PHP w przyszłości, muszę to zamienić na preg_replace_callback, czyli

  1. $match[1] = preg_replace_callback('/(?<=^|[a-z])./', create_function ('$match[1]', 'return strtolower(trim($match[1]));'))


jednak coś chyba pomieszałem z tą funkcją zwrotną...
Go to the top of the page
+Quote Post
nospor
post 3.11.2015, 16:10:15
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://www.php.net/preg_replace_callback
Wyraznie tam napisane, ze preg_replace_callback wymaga 3 parametrow. Ty podales tylko dwa.
Poza tym create_function jako piewszy parametr przyjmuje nazwe argumentu a nie wartosc.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
szybki
post 3.11.2015, 16:30:54
Post #3





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.06.2014

Ostrzeżenie: (0%)
-----


  1. $match[1] = preg_replace_callback('/(?<=^|[a-z])./', create_function('$x', 'strtoupper("\0"); return strtolower(trim($x[1]))'), $match[1]);


To mam, tylko ten strtoupper chyba nie do końca działa jak powinien.

Ten post edytował szybki 3.11.2015, 16:34:58
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:57