Autor | Zpráva | ||
---|---|---|---|
hugo123 Profil * |
#1 · Zasláno: 1. 11. 2013, 00:06:31
Ahojte,
mam jednu obrovsku zahadu: if (preg_match('/\bABČĎ\b/ui', 'ABČĎ')) echo "OK"; => nevypise OK
if (preg_match('/\bABČD\b/ui', 'ABČD')) echo "OK"; => vypise OK
Prosim Vas, ako je to mozne? Ako mam dosiahnut, aby vzdy vypisal OK? Vopred dakujem velmi pekne. |
||
Jan Tvrdík Profil |
#2 · Zasláno: 1. 11. 2013, 00:09:07
hugo123:
Musíš mít PHP 5.3.4 a novější. Viz 3v4l.org/s4tHF |
||
hugo123 Profil * |
#3 · Zasláno: 1. 11. 2013, 00:10:57
Jan Tvrdík:
A ako to mam vyriesit v starsej verzii prosim Ta? Da sa to? |
||
Jan Tvrdík Profil |
#4 · Zasláno: 1. 11. 2013, 00:15:27
hugo123:
Dohledal jsem ti odpovídající PHP bug. Řešení je zřejmě nepoužívat ty metaznaky, které nefungují správně, jako např. \b .
|
||
hugo123 Profil * |
#5 · Zasláno: 1. 11. 2013, 00:23:47 · Upravil/a: hugo123
Jan Tvrdík:
wow vdaka, takze som v podstate objavil bug v PHP. Hehe ;-))) Okey, ale ja potrebujem zistit ci sa nejake slovo vyskytuje vo vete. T.j. musi to byt slovo a nie co javiem spojeny string. Napada ti nejake riesenie? hugo123: Inak nejde to ani bez tych znaciek, napriklad: if (preg_match('/Albínov/u', 'dfgfd g Albinov sadd sad')) echo 'OK'; => nevypise OK
preco? |
||
Borius Profil |
#6 · Zasláno: 1. 11. 2013, 04:15:28
hugo123:
> if (preg_match('/Albínov/u', 'dfgfd g Albinov sadd sad')) echo 'OK'; => nevypise OK > > preco? Borius: Protože ‘Albinov’ není totéž co ‘Albínov’. |
||
Tori Profil |
#7 · Zasláno: 1. 11. 2013, 07:25:05
U toho bugu píšou, že unicode vlastnosti znaků by měly fungovat. Zkuste tohle:
if (preg_match('/(?<=^|[^\pL\pN])ABČĎ(?=$|[^\pL\pN])/ui', 'ABČĎ')) (viz manuál)
|
||
hugo123 Profil * |
#8 · Zasláno: 1. 11. 2013, 12:13:36
Borius:
jasne, ja som sa uz cely poplietol... neda sa reg. vyrazom povedat, aby sa ignorovala diakritika? Tori: dakujem vyskusam to |
||
Borius Profil |
#9 · Zasláno: 1. 11. 2013, 15:44:03
hugo123:
„jasne, ja som sa uz cely poplietol... neda sa reg. vyrazom povedat, aby sa ignorovala diakritika?“ Borius: Ne, to opravdu nedá. Žádná taková nativní funkce neexistuje. V praxi se to řeší tak, že se převedou všechna písmena s diakritikou na písmena bez diakritiky a pak až se s takovým textem pracuje. |
||
hugo123 Profil * |
#10 · Zasláno: 3. 11. 2013, 19:36:35
Borius:
okey, uz som to tak aj spravil. dakujem velmi pekne. |
||
Časová prodleva: 12 let
|
0