![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 1 Dołączył: 19.03.2009 Ostrzeżenie: (0%)
|
Witam, zaciąłem się i nie bardzo wiem co zrobić:
Mam coś takiego: Kod $czyfunkcja= 'sin|cos'; if(eregi($czyfunkcja,$drugiciag){ //coś tam wykonuje } i chciałbym żeby to co w jest w if wykonywało się jedynie w tedy kiedy $drugiciag wynosi "sin" lub "cos", a on sie wykonuje tez w tedy kiedy wynosi np: "sinasdada", "sinz", "coser" itd.... próbowałem też zapisu : $czyfunkcja= '(sin)|(cos)' $czyfunkcja= '(sin){1}|(cos){1}' $czyfunkcja= '[sin]|[cos]' ale nic nie pomogło. |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%)
|
eregi porównuje ciąg do wyrażenia. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 1 Dołączył: 19.03.2009 Ostrzeżenie: (0%)
|
eregi porównuje ciąg do wyrażenia. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) $drugiciag jest ciągiem a $czyfunkcja jest wyrażeniem regularnym ale dlaczego pozytywnie porównuje ciągi większe niż te podane w $czyfunkcja? Chyba jakoś pokrętnie wytłumaczyłem o co mi chodzi więc spróbuję inaczej: mam dwie zmienne $czyfunkcja ='sin|cos'; (czyli wyrażenie regularne sin lub cos); i $ciąg który jest różny. I teraz jak zrobić tak by $czyfunkcja sprawdzać $ciag i jeżeli $ciag zawiera sin lub cos to wykonuje to co jest po if, a jak nie to przechodzi do else. Czyli $ciag= sin (dobrze) , $ciag=cos (dobrze), $ciag = sina(źle) , $ciag = cosaaaaa(źle) , $ciag = asdasdsindadas(źle). |
|
|
|
Post
#4
|
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków |
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 1 Dołączył: 19.03.2009 Ostrzeżenie: (0%)
|
no jeśli już to zamiast $czyfunkcja będzie $ciąg==sin itd...
no teoretycznie mógłbym ale tego będzie znacznie więcej (sin, cos, atan, asin, pow, itd) i myślałem że jest coś co by mi to uprościło. Nie można stworzyć takieg wyrażenie regularnego 'sin'? Tak żeby if wyłapywał tylko te porównanie kiedy w drugim ciągu jest wyłącznie tez słowo 'sin' bez żadnych dodatkowych znaków na początku i końcu tego ciągu? |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%)
|
Masz (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Kod <?php
$reg = '/(^sin$)|(^cos$)/'; if (preg_match($reg, $_GET['test'])) { echo 'ok'; }else{ echo '!ok'; } ?> |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 1 Dołączył: 19.03.2009 Ostrzeżenie: (0%)
|
Dzięki za pomoc. Można zamknąć.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 18:57 |