![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 15.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam takie chyba dość proste pytanko. zamiana ciągów znaków odbywa się przez:
str_replace ('wyraz_do_zmiany', 'wyraz_zmieniony', 'cały_text'), czy możecie mi napisać wyrażenie które zamienia wyrazy zawierający jakiś podciąg na jakiś określony wyraz? czyli np: chciałbym zamienić każdy z wyrazów , który zawiera w sobie podciąg 'oza', na wyraz 'domek'. jakie powinienem wpisać wyrażenie do funkcji str_replace w pierwszej rubryce? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
co to są podciągi? :D
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował ayeo 9.12.2007, 19:33:03 -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 15.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
ok super dzięki !
ALE ! jest jeszcze mały problem. nie chce zeby funkcja uwzględniała wielkości liter. a narazie jest tak, że jak napisze w texcie 'koza nazywa sie ZOZA'. to mi tylko zamienia podciag 'oza' w wyrazie 'koza', natomiast wyraz 'ZOZA' pozostaje niezmieniony. można to jakoś rozwiązać? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 15.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
O dżizys.... panowie, skupiłem sie na wilkościach liter.. a przecież w ogóle .. od początku nie tak !
NIE chodzi mi o to, że jeśli mam wyraz 'ZOZOL' to funkcja wynajduje mi podciąg 'OZO' i zamienia ten podciąg na 'domek', tak że w ostateczności jest: 'ZdomekL' chce aby funkcja zamieniała CAŁY wyraz, a nie tylko podciąg w wyrazie, czyli w tym przypadku efekt ostateczny powinien być po prostu 'domek' ! bez początkowej litery 'Z' i końcowej 'L' . poóżcie prosze |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
hmmm a to jak na moją głowę już większa sztuka
pierwsze co mi przyszło na myśl to każde słowo przypisać do tablicy, sprawdzać czy występuje w nim w/w ciąg znaków jeśli tak zamienić je na "domek" |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Chodzi o to:
0ps sorki chyba zle zrozumialem myslalem ze to chcialo Cytat chce aby funkcja zamieniała CAŁY wyraz, a nie tylko podciąg w wyrazie, czyli w tym przypadku efekt ostateczny powinien być po prostu 'domek' ! bez początkowej litery 'Z' i końcowej 'L' . powiedziec ze dany wyraz chce zastapic na inny Ten post edytował marcio 9.12.2007, 22:00:38 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 15.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
nie marcio, to jest dokladnie to samo co poprzedni kod.
jak dasz $ciąg = 'bla blada grobla'; to efekt końcowy będzie 'domek domekda grodomek'; a chce w tym wypadku efekt 'domek domek domek' |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
no i wlasnie taki efekt jest
![]() P.S czekaj znowu zle przeczytalem chodzi ci o to ze obojetnie co bedzie w ciag to kazdy jego wyraz ma zmienic na domek? Ten post edytował marcio 9.12.2007, 22:18:42 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
EDYTOWANE
zamienione na funkcje i testowane
Ten post edytował b_chmura 9.12.2007, 22:27:22 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
kod, który Ci podałem w poprzdnim poście działa tak jak chcesz! Jedyne co musisz dodać to :
$text = strtolower($text); -------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
no i wlasnie taki efekt jest ![]() P.S czekaj znowu zle przeczytalem chodzi ci o to ze obojetnie co bedzie w ciag to kazdy jego wyraz ma zmienic na domek? kod, który Ci podałem w poprzdnim poście działa tak jak chcesz! Jedyne co musisz dodać to : $text = strtolower($text); Zanim zaczniecie odpowiadać przeczytajcie w czym tkwi problem, nie rozumiem waszego działania... ~LubieWino funkcja którą Ci podałem spełnia sie w 100% jednak istnieje może jakieś inne optymalniejsze rozwiązanie, nie wiem, musisz poczekać aż jakiś specjalista sie odezwie |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 15.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
ayeo - główna sprawa jest taka, że ten kod nie działa jak powinien, bo on nie zamienia mi całych wyrazów a jedynie podciąg wyrazów. odnasząc się do twojego przykładu, efekt końcowy zdania które podałeś jest:
'mala kdomek w kropki bordo nazywa się Sdomek z filmu Scareface Lodomekaa Booodomek!!" a ma być: 'mala domek w kropki bordo nazywa się domek z filmu Scareface domek domek!!" chmura.... huh ... zadziałeś teraz... musze chwile to przetestować i napisze co i jak Ten post edytował LubieWino 9.12.2007, 22:47:46 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Pierwszy kod właśnie tak działa!! Jeżeli zmieniłeś później $pattern; to już nie moja wina! Sprawdź to proszę!
@b_chmura to chyba Ty podałeś zły $pattern ![]() Pozdrawiam! EDIT Forum usunęło backslashe sprzed "S" w $pattern ![]() ![]() Ten post edytował ayeo 9.12.2007, 22:56:33 -------------------- |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 15.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
hehe , ok działa:)
podejrzwałem że coś nie tak z tym zapytaniem, ale jeszcze sie z tym nie obeznałem dokładnie. dobrze ze udalo ci sie to znaleźć. tak czy siak dzieki tobie i dzieki wszystkim ! |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
~ayeo zwracam honor, faktycznie po dodaniu backslashy działa jak należy
Pozdrawiam Chmura PS: a to głupie forum :P :D --- Ja Ci dam glupie :P :D /~strife/ |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 15.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
ale czy na pewno te backslashe usunęło forum? czy to nieuwaga ayeo?
a może specjalnie to zrobił zebyśmy mieli horror (przynajmniej ja) ;> Ten post edytował LubieWino 9.12.2007, 23:14:28 |
|
|
![]()
Post
#19
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
forum, bo z kodu b_chmura też usunęło
![]() -------------------- |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 508 Pomógł: 75 Dołączył: 2.11.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Najprostsza rzecz a ludzie sie mecza
![]()
Sprawdzone i dziala. Dwa razy jest to samo preg_match, bo jak wyrazy sa kolo siebie to zamienia co drugi. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 7.06.2025 - 11:12 |