pomoc s php reg. vyrazy
HackForum

| | |  |  | Mohli byste mi nekdo pomoci, jak mam udelat regularni vyraz.. teda spise reg vyraz uz mam...ale nmuzu donutit funkci preg_replace();, aby mi hodila zpatky to co chci.. zadam preg_replace(vyraz, nahradit, text), a nemuzu prijit na to nahradit. kdyz mma napr IP, aby mi to vratilo tri cisla a ctvrty vynechalo..diky predem (odpovědět)
 |  | | nejmenujii | 83.240.29.* | 19.12.2006 11:53 | 
 | 
 | 
 | 
|  | 
| | | | re: pomoc s php reg. vyrazy | # | 
 |  | Nějak to nechápu s tím preg_replace(). Co chceš čím nahrazovat? Pokud chceš vynechat čtvrtou část IP, zkus raději preg_grep(). Nejlíp takhle:
 /^\d+\.\d+\.\d+\./
 (odpovědět)
 |  | | guma | 195.113.79.10/10.0.10.* | 19.12.2006 18:47 | 
 | 
 | 
 | 
| | | | re: pomoc s php reg. vyrazy | # | 
 |  | jednotlive casti vyrazu muzes "seskupovat" zavorkama a ty casti si bak vytahnout backreferenci. takhle: ---
 $old = "192.168.0.10";
 $new = preg_replace('/^(\d+)\.(\d+)\.(\d+)\.(\d+)$
 /', '\1.\2.\3.*', $old);
 ---
 $new bude "192.168.0.*"
 (odpovědět)
 |  | | kve | 82.208.44.* | 20.12.2006 0:54 | 
 | 
 | 
 | 
| | | | re: pomoc s php reg. vyrazy | # | 
 |  | samozrejme to muze byt i jednodussi: $new = preg_replace('/^(\d+\.\d+\.\d+\.).*$/', '\1*', $old);
 atd. princip je myslim jasny. priste viz. www.php.net.
 (odpovědět)
 |  | | kve | 82.208.44.* | 20.12.2006 1:01 | 
 | 
 | 
 |