![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 0 Dołączył: 13.04.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Mamy ciąg tekstowy, np:
Kod Kupując wspierasz budowę itc. Więc kupuj więcej! I teraz chciałbym pewne konkretne słowa podmienić na inne (powiedzmy. 'budowę' i 'kupuj'). Przygotowywuję sobie dwie tablice. Jedna:$change = array ('budowę', 'kupuj'); $change_to = array ('produkcję', 'płać'); etc. Teraz używam funkcji:
Efekt: Cytat płaćąc wspierasz produkcję itc. Więc płać więcej! Czyli w stringu "Kupując" został podmieniony fragment "Kupuj(...)".Aby uniknąć tego efektu wymyśliłem że przed i po każdym stringu będzie dorzucona spacja. Czyli dorzucamy: I teraz uzyskujemy efekt: Cytat Kupując wspierasz produkcję itc. Więc płać więcej! Czyli to, o co nam chodziło. Teraz niestety kolejny problem. Jeżeli string wejściowy będzie taki:Kod Kupując wspierasz budowę itc. Więc kupuj! (tzn. bo 'kupuj' nie ma spacji). To oczywiście wyraz nie zostanie podmieniony.No i jestem w kropce. Jak podmieniać stringi, które są samodzielnymi wyrazami, ale nie koniecznie po obu ich stronach znajdują się spacje? -------------------- Językiem którym najlepiej operują wszyscy programiści są przekleństwa.
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 3.10.2004 Skąd: Taka wiocha koło Cieszyna :P Ostrzeżenie: (0%) ![]() ![]() |
Hmm...
Na pewno trzeba by to robic poprzez wyrazenia regularne - > eregi_replace(); -------------------- "Nemo Sine Vitiis Est" - Ktoś tak kiedyś powiedział... i miał rację.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 332 Pomógł: 6 Dołączył: 13.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwszę co chcesz uzyskać??
Płacąc wspierasz produkcję itc. Więc płać więcej! ![]()
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 0 Dołączył: 13.04.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Nie, to jest właśnie niepożądany efekt. Ma podmieniać konkretne wyrazy, nawet jeżeli przed i po nich NIE znajduje się spacja (np. kropka). Natomiast jeżeli pominiemy spację w matrycy znajduje się np. 'bug' to wyraz 'bugtraq' automatycznie zostanie zmieniony na 'xxxtraq'. Tego nie chcę.
-------------------- Językiem którym najlepiej operują wszyscy programiści są przekleństwa.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.06.2025 - 15:59 |