PHP ssie

Ten wpis jest częścią mojego starego bloga, prowadzonego w latach 2005-2007 pod adresem dragonee.jogger.pl. Został on zachowany w celach archiwizacyjnych i niekoniecznie reprezentuje moje bieżące stanowisko na dany temat.

Pełen chęci, z pomysłem i zacięciem zabrałem się do pisania w PHP. I przyszło oświecenie…

replacement

The string or an array with strings to replace. If this parameter is a string and the pattern parameter is an array, all pattens will be replaced by that string. If both pattern and replacement parameters are arrays, each pattern will be replaced by the replacement counterpart. If there are less keys in the replacement array than in the pattern array, the excedent patterns will be replaced by an empty string.

Źródło.

To… To nie umie ruszać funkcji? Nie!

Oczywiście, znalazłem po sekundzie funkcję preg_replace_callback. Tylko, że jej sposób przekazywania danych zupełnie mi nie pasuje. Całkowicie. Nie wiem nawet, czy dałoby się przekazać dane poprzez \\1, \\2, które byłyby bardzo przydatne, inaczej musiałbym jeszcze raz przepuszczać to przez preg_*.

A miało być tak pięknie…

Przy okazji nie jestem pewien zachowania kilku innych rzeczy…

Apdejt: Jednak nie wszystko stracone.

Apdejt 2: Problem jest, ale w innym miejscu, niż się spodziewałem. Wygląda na to, że w preg_replace nie można wstawiać \\1 do pattern, dzięki czemu poszukiwanie /<data:(\S+)>(.*?)<\/data:\\1>/e nie chce zadziałać w żaden sposób. Na razie to jest główny problem, sądzę, że głębiej w kodzie znajduje się kilka innych niedoróbek, albo i poważnych błędów. Jeszcze do tego jednak nie dotarłem. Muszę najwierw spróbować obejść tą niedogodność.

2 komentarze
  1. 26 maja, 2007
  2. 26 maja, 2007
  3. 8 października, 2017

Leave a Reply

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *