Advertisement
Jakolcz

Test-REGEXP-Martin-LOAL

Dec 8th, 2011
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.18 KB | None | 0 0
  1. <?php
  2. //source by Jakub Koláček
  3. //http://www.jakol.cz
  4.  
  5. if(isset($_GET["odeslat"])){
  6.   $id_dobre = false;
  7.   $nazev_dobre = false;
  8.   $cena_dobre = false;
  9.  
  10.   $id = trim(strtoupper($_GET["id"]));
  11.   $nazev = trim($_GET["nazev"]);
  12.   $cena = trim($_GET["cena"]);
  13.  
  14.   $pattern_id = "/X?[\d]{5}[\x20]*-[\x20]*[\d]{2}/";
  15.   $pattern_nazev_jedno_slovo = "/^[\wěščřžýáíéťĚŠČŘŽÝÁÍÉŤ]{2,}$/";
  16.   $pattern_nazev_dve_slova = "/^[\wěščřžýáíéťĚŠČŘŽÝÁÍÉŤ]{2,}[\x20][\wěščřžýáíéťĚŠČŘŽÝÁÍÉŤ]{2,}$/";
  17.   $pattern_cena = "/[\d]+$/";
  18.   $pattern_cena_skc = "/[\d]+[\x20][Kk]č/";
  19.  
  20.   if(preg_match($pattern_id, $id)){
  21.     $id = str_replace(" ", "", $id);
  22.     if(preg_match("/^[\d]{5}[\x20]*-[\x20]*[\d]{2}/", $id))
  23.       $id = "X".$id;
  24.     $id_dobre = true;
  25.   }else{
  26.     echo "Zajebaný ID<br />\n";
  27.   }
  28.  
  29.   if(preg_match($pattern_nazev_jedno_slovo, $nazev)){
  30.     $nazev = strtolower($nazev);
  31.     $nazev = ucfirst($nazev);
  32.     $nazev_dobre = true;
  33.   }else if(preg_match($pattern_nazev_dve_slova, $nazev)){
  34.     $nazev = strtolower($nazev);
  35.     $nazev = ucfirst($nazev);
  36.     $nazev = str_replace("  ", " ", $nazev);
  37.     $nazev_dobre = true;
  38.   }else{
  39.     echo "Zajebaně najebanej název!<br />\n";
  40.   }
  41.  
  42.   if(preg_match($pattern_cena, $cena)){
  43.     $cena = $cena." Kč";
  44.     $cena_dobre = true;
  45.   }else if(preg_match($pattern_cena_skc, $cena)){
  46.     $tmpcena = explode(" ", $cena);
  47.  
  48.     $cena = "";
  49.     $cena = $tmpcena[0]." Kč";
  50.     $cena_dobre = true;
  51.   }else{
  52.     echo "Ty kundo piš tu cenu správně!<br />\n";
  53.   }
  54. }
  55. ?>
  56. <form method='GET' action='index.php'>
  57. <table>
  58. <tr><td>ID:</td><td><input type='text' name='id' /></td></tr>
  59. <tr><td>Název:</td><td><input type='text' name='nazev' /></td></tr>
  60. <tr><td>Cena:</td><td><input type='text' name='cena' /></td></tr>
  61. <tr><td><input type='submit' name='odeslat' value='Odeslat' /></td></tr>
  62. </table>
  63. </form>
  64. <?php
  65. if(isset($_GET["odeslat"])){
  66.   if($id_dobre)
  67.     echo "ID: ".$id."<br />\n";
  68.   if($nazev_dobre)
  69.     echo "Název: ".$nazev."<br />\n";
  70.   if($cena_dobre){
  71.     echo "Cena bez DPH: ".$cena."<br />\n";
  72.     echo "Cena s DPH: ".($cena*1.2)." Kč<br />\n";
  73.   }
  74. }
  75. ?>
  76.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement