![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 18.01.2004 Skąd: Ostrów Wlkp. Ostrzeżenie: (0%) ![]() ![]() |
Mam taki problem. Nie wiem jak zrobic taki skrypcik, ktory personalizowal by jakis tekst w zaleznosci od plci czytajacego.
Mozna by pisac tekst np w taki sposob: Kod Czy widział[eś/aś] ten dom? i jakis sprypcik na podstawie chyba najlepiej wyrazenia regularnego zamienial by ten nawias [eś/aś] na eś jesli czytajacy to M lub aś jesli czytajacy do K. Niestety na wyrazeniach regularnych sie nie znam ![]() Czy ktos wie jak takie cos napisac ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 12.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
pisz w formie bezosobowej:)
-------------------- Warsztat: Easy PHP 1.7:Apache 1.3.27|PHP 4.3.3|PHPMYADMIn 2.5.3|MYSQL 4.0.15
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 28.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
można zrobić skrypt ktory "na dzień dobry" zadawałby pytanie pan jest czy pani
![]() Problem również zniknie gdy będzie logowanie na strone, ale tylko dla userów. Lub tak jak mówi Vala pisz bezosobowo |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Jesli masz logowanie (konta uzytkownikow itp) to tam ustaw wymagane pole na plec. Pozniej bedziesz odpowiednim wyrazeniem strosowal 'widzial[as|es]'. Zakladajac ze pierwsza czesc jest dla chlopcow, a druga dla dziewczat:)
P.S. W podobnym stylu jak stosuje WikiMedia (np. http://wiki.php.pl) tyle, ze do linkow. -------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 18.01.2004 Skąd: Ostrów Wlkp. Ostrzeżenie: (0%) ![]() ![]() |
To wlasnie wiem, chodzi mi tylko o to odpowiednie wyrazenie
![]() Plec uzytkownika mam, teraz tylko trzeba wlasnie jakos zamienic koncowke na meska lub zenska i nie wiem jak to zrobic ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 12.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
oznacz sobie string, ktory ma zamieniac w jakis specjalny sposob np:
<plec> czyli bedzie cos takiego napisa<plec>(ł/ła) i mozesz zastosowac preg_replace lub str_replace ja bym info o plci wrzucil do sesji czy ciastek i na podstawie tego zamienial... -------------------- Warsztat: Easy PHP 1.7:Apache 1.3.27|PHP 4.3.3|PHPMYADMIn 2.5.3|MYSQL 4.0.15
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 18.01.2004 Skąd: Ostrów Wlkp. Ostrzeżenie: (0%) ![]() ![]() |
Zrobilem takie cos, dziala ale tylko wtedy gdy w tekscie jest tylko jeden raz forma osobowa:
jesli parametr plec wynosi 1 to daje pierwsza koncowke (meska) a jesli 2 to daje 2 koncowke. Niestety totanie nie dziala jesli w tekscie musi kilka razy zamienic koncowki. Nie wiem w jaki sposob wyseparowac te koncowki z tekstu ![]() Ma ktos jakis pomysl jak by to mialo wygladac ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
to zamień preg_match na preg_match_all i potem zrób to samo ale w pętli
![]() poza tym lepiej zrobić taki string: Kod Czy chciał<!a>być mieć taki dom? A spróbuj z tym wyrazem: mógłbyś |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 18.01.2004 Skąd: Ostrów Wlkp. Ostrzeżenie: (0%) ![]() ![]() |
Nie bardzo kumam gdzie tu wcisnac petle, jakies dziwne rzeczy mi wychodza.
Mógłbyś napisac kod jak to powinno wygladac ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Proszę bardzo
![]()
Zmieniłem trochę wyrażenie regularne. I zamieniamy nie preg_replace'm tylko str_replace'm ![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
Niestety, przy polskich znakach [a-z] chyba nie przejdzie, a przy kodowaniu np utf-8 na 100% będą błędy. A tak wogóle, to po co tak komplikować tę funkcję, jakieś nie potrzebne preg_match_all, nie rozumiem tego. Nie można tak:
Coś się kolorowanie sypie, ale kod dziala: Kod <?php
function personalize( $sString, $iGender ) { return preg_replace( '/\<(\S*)\!(\S*)\>/', '\\' . (int) $iGender, (string) $sString ); } $sString = 'Czy chciał<byś!abyś> mieć taki dom? Czy m<ógł!ogła>byś kupić mleko?'; echo '<strong>Mężczyzna:</strong></br />'; echo personalize( $sString, 1 ); echo '<br /><strong>Kobieta:</strong><br />'; echo personalize( $sString, 2 ); ?> Ten post edytował matid 21.07.2005, 13:03:28 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:38 |