Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> preg_match
netmare
post
Post #1





Grupa: Zarejestrowani
Postów: 285
Pomógł: 37
Dołączył: 18.12.2007
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Próbuję zrobić na swoje potrzeby coś jak rozbudowany słownik krzyżowkowicza, ale mam problem ze zdefiniowaniem maski dla preg_match.

doszedłem już do zapisu
$maska='A.A.A.';
preg_match('/^'.$maska.'$/',$linia);
lecz efekt jest nieco inny od zamierzonego, gdyż wybiera mi słowa pięcioliterowe zamiast 6 (pasujące do A.A.A).
Jak to poprawić??

$maska docelowo ma być pobierane z formularza

Generalnie chciałbym od preg_match tylko realizacji funkcji jak na tej stronie
http://chemeng.p.lodz.pl/zylla/pk/pk17.php

Z góry dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
devnul
post
Post #2





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

Ostrzeżenie: (0%)
-----


daj trim na linie, pewnie wkradają się białe znaki (spacja, new line albo cos w podobie i z ŧad taki efekt)
  1. <?php
  2. $maska='A.A.A.';
  3. preg_match('/^'.$maska.'$/',trim($linia));
  4. ?>



//edit: linia to oczywiscie linia z pojedynczym wyrazem?
jesli nie to daj tak
  1. <?php
  2. $maska='A[^[:space:]]{1}A[^[:space:]]{1}A[^[:space:]]{1}';
  3. ?>
będzie dobierało tylko znaki inne niż białe

Ten post edytował devnul 6.01.2008, 01:00:05
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 21:54