Autor | Zpráva | ||
---|---|---|---|
hugo123 Profil * |
#1 · Zasláno: 14. 9. 2013, 18:51:18 · Upravil/a: Moderátor (editace znemožněna) 15. 9. 2013, 01:06:32
Ahojte,
prosim, ako spravim v PHP kontrolu, ze zadany string obsahuje len male alebo VELKE pisme abecedy, alebo cisla alebo pomlcku? Vopred dakujem velmi pekne! Moderátor Chamurappi: Jak to souvisí s webovými prohlížeči? Přesouvám.
|
||
juriad Profil |
#2 · Zasláno: 14. 9. 2013, 19:05:35
echo preg_match("/^[a-zA-Z0-9-]*$/", "vyh0v-ujE"); echo preg_match("/^[a-zA-Z0-9-]*$/", "(ne*vy*ho*VU*je)"); |
||
hugo123 Profil * |
#3 · Zasláno: 14. 9. 2013, 22:18:18
juriad:
skvele, ale este by som chcel povolit znak lomitka na tuto stranu: "/" ked to tam pridam, tak vypisuje errory. Ako to prosim vyriesit? Vopred dakujem velmi pekne. |
||
juriad Profil |
Do hranatých závorek připiš to lomítko; ale na konci musí zůstat pomlčka, protože ta má zvláštní význam (rozsah znaků).
Navíc, jelikož je oddělovač lomítko, musíš ho escapovat zpětným lomítkem. Nebo změnit oddělovač. Regulární výraz bude: "/^[a-zA-Z0-9\\/-]*$/" "#^[a-zA-Z0-9/-]*$#" Nikdy nezakládej duplicity; to že ti nikdo chvíli neodpovídá, vůbec neznamená, že se odpovědi nedočkáš. Na otázku položenou v duplicitním vlákně: proč projde i "vyh0v-ujE12/3\132" ?
odpovím odkazem do dokumentace: http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double lomítko následované třemi číslicemi se vyhodnotí jako příslušný ASCII znak (123 = Z) Důkaz: echo "vyh0v-ujE12/3\132"; echo "vyh0v-ujE12/3\\132"; |
||
hugo123 Profil * |
#5 · Zasláno: 15. 9. 2013, 01:00:50
juriad:
dakujem velmi pekne. Ako to technologicky dokazem, ked mam v texte "aaaaa\bbbb", takto automaticky interretujem do "aaaaa\\bbbb"? Je na to nejake specialny php prikaz? A toto plati iba pre tento typ lomitka? U toho druheho to neplati? Vopred dakujem velmi pekne. |
||
juriad Profil |
Ta uvedená pravidla v dokumentaci se týkají pouze řetězců přímo uvedených ve zdrojáku PHP.
Jde jen o způsob jak zapsat v PHP řetězec obsahující speciální znaky (nový řádek, tabulátor apod.). PHP nerozezná od sebe "Z" a "\123", nevidí mezi těmito zápisy žádný rozdíl. Z toho vyplývá, že žádný příkaz k tomu neexistuje, ani existovat nemůže. Když načítáš řetězec z databáze, souboru nebo ti přijde jako požadavek po síti, nemusíš nic řešit. Ne, dopředné lomítko nemá žádný speciální význam. Týká se to jen jediného znaku: zpětného lomítka. |
||
Časová prodleva: 11 let
|
0