DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Regular expression i htaccess (http://www.devprotalk.com/forumdisplay.php?f=41)
-   -   Regexp i naša slova (http://www.devprotalk.com/showthread.php?t=1450)

Dragan Babić 05. 09. 2006. 19:00

Regexp i naša slova
 
Postoji sledeći kôd:

Kôd:

$result = ereg ("^[A-Za-z0-9\ ]+$", $theinput )
On bi trebalo da proverava da li se $input sastoji samo iz unesenih karaktera. Kako uključiti u ovu proveru i naša slova tako da ih "propušta"?

Ovo ne radi:
Kôd:

$result = ereg ("^[A-Za-z0-9ćč\ ]+$", $theinput )
kao ni

Kôd:

$result = ereg ("^[A-Za-z0-9\ |ć|č| ]+$", $theinput )
(ćč su tu samo radi ilustracije, potrebno je da radi naravno za sva naša slova.)

DejanVesic 05. 09. 2006. 20:06

Citat:

Originalno napisao Dragan
Postoji sledeći kôd:

Kôd:

$result = ereg ("^[A-Za-z0-9\ ]+$", $theinput )
On bi trebalo da proverava da li se $input sastoji samo iz unesenih karaktera. Kako uključiti u ovu proveru i naša slova tako da ih "propušta"?

Jako sam malo radio sa PHP-om, ali ako se dobro sećam, moraš da radiš sa MultiByte verzijama tih funkcija a pre toga da postaviš odgovarajući context:

mb_regex_encoding('UTF-8');

a onda upotrebiš mb_ereg()

ivanhoe 05. 09. 2006. 20:24

Evo iz helpa:
Citat:

If you want to perform regular expressions on Unicode strings, the PCRE functions will NOT be of any help. You need to use the Multibyte extension : mb_ereg(), mb_eregi(), pb_ereg_replace() and so on. When doing so, be carefull to set the default text encoding to the same encoding used by the text you are searching and replacing in. You can do that with the mb_regex_encoding() function. You will probably also want to set the default encoding for the other mb_* string functions with mb_internal_encoding().
So when dealing with, say, french text, I start with these :
PHP kôd:

<?php
mb_internal_encoding
('UTF-8');
mb_regex_encoding('UTF-8');
setlocale(LC_ALL'fr-fr');
?>


dinke 05. 09. 2006. 20:53

Ja sam se namucio sa ovim pre neki dan kada sam parsovao blogove sa planetoida (i to na cirilici :). Ja sam se nekako snasao bez mb_* f-ja, ali za ovo ce tesko ici bez toga. Sve u svemu, setuj encoding na odgovarajuci i probaj sa [[:alnum:]] tj:

PHP kôd:

mb_regex_encoding('UTF-8');
mb_ereg()
$result mb_ereg ("^[[:alnum:][:space:]]+$"$theinput 

Valjda ce raditi, ako ne javi pa da mozgamo dalje :)

Br@nkoR 06. 09. 2006. 13:33

Kôd:

$result = preg_match('/^[\p{L}\d\s]+$/', $theinput);

Dragan Babić 06. 09. 2006. 15:15

Ubode ga Branko! :)

Jovana se zahvaljuje. ;)

godza 06. 09. 2006. 16:24

Citat:

Originalno napisao Br@nkoR
Kôd:

$result = preg_match('/^[\p{L}\d\s]+$/', $theinput);

koja si ti legenda, cutis, cutis, samo se pojavis i zveknesh resenje :)

dinke 06. 09. 2006. 16:37

http://www.php.net/preg_match
Citat:

Izzy
17-Aug-2006 12:27

Concerning the German umlauts (and other language-specific chars as accented letters etc.): If you use unicode (utf-8), you can match them easily with the unicode character property \pL (match any unicode letter) and the "u" modifier, so e.g.

<?php preg_match("/[\w\pL]/u",$var); ?>

would really match all "words" in $var - whether they contain umlauts or not. Took me a while to figure this out, so maybe this comment will safe the day for someone else :-)
Lepo covek napisao, al' nema ko da cita. A mislio sam da sve znam o reg. izrazima ;)


Vreme je GMT +2. Trenutno vreme je 21:03.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.