| | |
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Autor | Správa |
---|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | Napísal suchy: 08.04.2008 22:16 | |
|
som akurat trochu kodil a povedal som si, ze par funkcii mozno niekomu z vas pomoze, pripadne sa predide v buducnosti nejakym zbytocnym otazkam, tak nech sa paci
Kód: /** * Make perex with highlighted searched expression. * @param string [$text] text * @param string [$search] searched expression * @param int [$lenght] perex lenght * @return string perex with searched highlighted expression or false */ function searchAndMakePerex($text, $search, $lenght = 250) { //strip tags from text $text = strip_tags($text); //if find expression $search if(eregi($search, $text)) { //set default start and lenght of substring $start = $lenght / 2; //find position of searched expression $pos = stripos($text, $search); if($pos - $start < 0) { $start = $pos; } //cut text where searched expression is found $substr = substr($text, $pos - $start, strlen($search) + $lenght); //highlight found expression return eregi_replace($search,"<strong>$search</strong>", $substr); } else { return false; } }
/** * Make hyperlinks in text. * @param string [$text] text with raw url address * @return string text with hyperlinks */ function makeHyperLinks($text) { //make hyperlinks from protocol://some-address $text = eregi_replace("(([a-zA-Z]{3,5})://([/:;?=&+_a-zA-Z0-9\.\-]+)*)", "<a href=\"\\0\">odkaz</a>(<a href=\"\\0\" target=\"blank\">nove okno</a>)", $text); //make hyperlinks from www.some-address $text = eregi_replace("([^/]([w]{3})\.)([/:;?=&+_a-zA-Z0-9\.\-]+)", " <a href=\"http://\\2.\\3\">odkaz</a>(<a href=\"http://\\2.\\3\" target=\"blank\">nove okno</a>)", $text); //make hyperlinks from ftp.some-address $text = eregi_replace("([^/](ftp)\.)([/:;?=&+_a-zA-Z0-9\.\-]+)", " <a href=\"ftp://\\3\">odkaz</a>(<a href=\"ftp://\\3\" target=\"blank\">nove okno</a>)", $text); //make mailto hyperlinks from some@email.tdl $text = eregi_replace("([/&+_a-zA-Z0-9\.\-]+)@([/&+_a-zA-Z0-9\.\-]+)\.([a-zA-Z]{2,5})", "<a href=\"mailto:\\0\">mail</a>", $text); return $text; }
/** * Check string if is a phone number * @param string [$text] phone number wich is beginning with preset of country * @param int [$lenght] minimal lenght of phone number * @param int [$lenght2] maximal lenght of phone number * @return bolean */ function isPhoneNumber($num, $lenght = null, $lenght2 = null) { if(!is_null($lenght) and !is_null($lenght2)) { return(ereg("^(\+([0-9]{ " . $lenght . "," . $lenght2 . "}))$", $num) ? true : false); } elseif(!is_null($lenght)) { return(ereg("^(\+([0-9]{ $lenght }))$", $num) ? true : false); } else { return(ereg("^(\+([0-9]+))$", $num) ? true : false); } }
/** * Check string if is an email address * @param string [$email] email address * @return bolean */ function isEmail($email) { return(ereg("^([/&+_a-zA-Z0-9\.\-]+)@([/&+_a-zA-Z0-9\.\-]+)\.([a-zA-Z]{2,5})$", $email) ? true : false); }
/** * Check string if is a date in YYYY-mm-dd format * @param string [$date] phone number wich is beginning with preset of country * @return bolean */ function isDate($date) { return(ereg("^([0-9]{4})-([0-9]{2})-([0-9]{2})$", $date) ? true : false); }
/** * Make string from array * @param array [$array] some array * @return string */ function makeStringFromArray($array) { foreach($array as $arr) { $string .= $arr . "|"; } $string = trim($string,"|"); return $string; }
Naposledy upravil suchy dňa 11.06.2008 0:20, celkovo upravené 1
_________________ A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table. |
|
Registrovaný: 22.11.07 Prihlásený: 26.02.10 Príspevky: 253 Témy: 1 Bydlisko: 127.0.0.1 | Napísal vl4kn0: 09.04.2008 9:57 | |
|
niektore v pohode. ale imho chyba davka abstrakcie hlavne pri telefonnych cislach. a fcia. makestringfromarray? neni lepsie pouzit fciu implode?
_________________ PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber... |
|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | Napísal autor témy suchy: 09.04.2008 13:00 | |
|
heh. ale ano len v tej chvili ma vsak nenapadlo hladat taku funkciu. nevadi, aspon som o nieco mudrejsi
_________________ A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table. |
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 09.04.2008 14:32 | |
|
preco su popisi v anglictine? ved sme slovenske forum
|
|
Registrovaný: 22.11.07 Prihlásený: 26.02.10 Príspevky: 253 Témy: 1 Bydlisko: 127.0.0.1 | Napísal vl4kn0: 09.04.2008 16:52 | |
|
Drako píše: preco su popisi v anglictine? ved sme slovenske forum
pretoze k IT neodmyslitelne patri anglictina. a uprimne povedane slovensky ani iny jazyk do IT nepatri
Suchy-> myslim ze funkcia na linky ti v pripade https:// fungovat nebude. mohol by si to dorobit
_________________ PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber... |
|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | Napísal autor témy suchy: 09.04.2008 17:20 | |
|
funguje, mas to hned prvy replace
a drako to, ze sme slovenske forum nevadi, predpokladam, ze vacsina ludi v it svete ovlada anglicky aspon citat. v kode by sa nemala prekryvat anglictina so slovencinou.
_________________ A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table. |
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 09.04.2008 17:51 | |
|
ale asopn do poznamok si to mohol dat...nechce sa mi velmi teraz si to prekladat kedze anglinu nemam v malicku
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
parada.. akurat take neco zhanam zide sa !!!
tu je anglina na mieste
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 08.06.08 Prihlásený: 09.07.08 Príspevky: 39 Témy: 1 | Napísal k3tch: 11.06.2008 0:08 | |
|
mozno trosku opozdene ale len nedavno som sa regol a pozeral som starsie veci. vsimol som si tu chybu
konkretne tu
Kód: $text = eregi_replace("([/&+_a-zA-Z0-9\.\-]+)@([/&+_a-zA-Z0-9\.\-]+)\.([a-zA-Z]{2-5})", "<a href=\"mailto:\\0\">mail</a>", $text);
ma byt hadam {2,5} namiesto {2-5} alebo sa mylim?
|
|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | Napísal autor témy suchy: 11.06.2008 0:19 | |
|
heh. nemylis sa. opravim to. dik za upozornenie.
_________________ A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table. |
|
Registrovaný: 04.11.06 Prihlásený: 28.12.09 Príspevky: 107 Témy: 12 |
No ked uz sme pri tych regexoch
Spravil som si taky jednoduchy filter na prechadzanie BB kodu, konkretne napriklad tag Kód: [i] a vsetko co je v nom, je rozpoznavane filtrom: Kód: /\[i\](.+)\[\/i\]/ (to je filter na odchytavanie, to potom ide do preg_replace no a replacuje sa to za toto: Kód: <i>\\1</i> (\\1 odkazuje na match v prvej zatvorke v tom filtri... ) Ono to krasne slape, ale ak mam text, kde je viac takychto oblasti za sebou, priklad: Kód: [i]formatovany text[/i]neformatovany text[i]znova formatovany text[/i] tak ten match "zozerie" uplne vsetko, od prveho zacinajuceho tagu po POSLEDNY ukoncovaci tag... takze moja otazka: ako odladit ten filter tak, aby to parsoval tak, ako ma, teda kazdu oblast zvlast? PS: Tam ako je to (.+) nemozem dat nieco taketo: Kód: ([^\[\]]+)
pretoze potom by nefungovali vnorene tagy (keby som chcel dat napriklad text kurzivou a NAVYSE podskrtnuty...)
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | Napísal juho: 10.07.2008 12:17 | |
|
takto Kód: /\[i\](.+?)\[\/i\]/
musis nato pouzit lenivy kvantifikator
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 |
isDate by som spravil skôr pomocou explode a checkdate(). Používať na všetko regexp neodporúčam, pretože to je trocha pomalé. Inak táto tvoja funkcia by ti odsúhlasila dátum 0001-99-54, čo samozrejme nemôže byť dátum
|
|
Registrovaný: 04.11.06 Prihlásený: 28.12.09 Príspevky: 107 Témy: 12 |
juho píše: takto Kód: /\[i\](.+?)\[\/i\]/ musis nato pouzit lenivy kvantifikator
Diky, uz to bezi
Este jedna otazka: . zrejme neznamena uplne hocijaky znak, pretoze akonahle sa tam vyskytne enter (crlf; chr(13) + chr(10); atd... no chapeme sa ) tak to nematchne.. takze treba tam dat nejaky modifikator aby do mnoziny znakov ktore su zastupene bodkou (.) bral aj crlf ?
EDIT: Charset je vsade UTF-8
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | Napísal juho: 10.07.2008 15:01 | |
|
ked to chces mat v podobe bbcode tak radsej pouzi Kód: nl2br($text); a nad ziadnymi [\r\n] nemusis rozmyslat
|
|
Registrovaný: 04.11.06 Prihlásený: 28.12.09 Príspevky: 107 Témy: 12 |
Noo take nieco tam uz je, ale asi nie takto.. skusim pozriet
Keby to neslo, da sa to aj cez nejaky modifikator pre regex ?
EDIT: Už som na to prišiel... modifikátor /s bolo treba použiť, ten je priamo na to, aby bodka . matchovala aj newline
|
|
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| rozne menu pre rozne podstranky v PHP, ASP | 1 | 522 | 22.01.2008 22:08 qacer | | SESSION regexp v Webhosting a servery | 9 | 739 | 08.11.2008 16:27 Tominator | | regexp help v PHP, ASP | 2 | 364 | 10.06.2009 17:44 Draex | | Zvuk - obcas ide, vacsinou nie v Zvuk | 8 | 487 | 03.10.2011 14:42 Skyro | | Pc vacsinou internet do 200€ v PC zostavy | 13 | 418 | 09.04.2012 20:13 MaTT753 | | pomoc z regexp v PHP, ASP | 8 | 536 | 25.01.2010 10:26 pilná lama glama | | PC+Monitor do 600€ (Väčšinou na hranie) v PC zostavy | 0 | 265 | 11.03.2014 15:47 eXpoler | | Zend_Db a multiple REGEXP v PHP, ASP | 11 | 660 | 21.04.2010 19:55 rooobertek | | T-Com zdražil všetky programy, väčšinou iba kozmeticky v Novinky | 5 | 492 | 16.10.2010 14:14 Johnnny | | regexp - iba cisla a line break v JavaScript, VBScript, Ajax | 2 | 290 | 22.04.2012 10:43 neopagan | | funkcie v Assembler, C, C++, Pascal, Java | 5 | 867 | 15.11.2007 9:57 sento | | excel - funkcie v Ostatné programy | 5 | 438 | 20.03.2013 15:56 Winnetou | | API funkcie v Assembler, C, C++, Pascal, Java | 21 | 1975 | 12.09.2008 23:05 stopa27 | | Excel - funkcie v Ostatné programy | 0 | 422 | 24.02.2016 10:06 mio | | POLYNOMICKE FUNKCIE v Assembler, C, C++, Pascal, Java | 2 | 735 | 17.01.2009 20:48 dianka10 | | Ajaxove funkcie v JavaScript, VBScript, Ajax | 13 | 809 | 11.05.2009 23:01 feko.yxo |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|