Yazı İçinde Matematiksel İşlem Hesaplama Sınıfı

Bu metin içinde geçen (3+(5*2)) nin 13 olduğunu bulan bir sınıftır.

PHP
21 lines
<?php
class Matematiklestir{
function degistir($metin){
$Mat = preg_match_all("/\(+[0-9+\s+\-.*\/()%]+\)/", $metin, $mMat);
for ($i=0;$i<$Mat; $i++){
$formul = str_replace(" ", "", $mMat[0][$i]);
$formul = preg_replace("/([+-])([0-9]+)(%)/", "*(1\$1.\$2)", $formul);
$formul = preg_replace("/([0-9]+)(%)/",".\$1",$formul);
eval("\$sonuc=" . $formul . ";");
$poz = strpos($metin, $mMat[0][$i]);
$metin = substr_replace($metin, $sonuc, $poz, strlen($mMat[0][$i]));
}
return $metin;
}
}
$yuzde = 10;
$zincir = " [[40+15]*2] + $yuzde% u (((40+15)*2)+ $yuzde%) eder";
$ciktilar = new Matematiklestir;
$cikti = $ciktilar->degistir($zincir);
echo $cikti;
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktı

Markdown
1 lines
[[40+15]*2] + 10% u 121 eder
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Bir Metindeki Kelimeleri Sayma Sınıfı

PHP
20 lines
<?php
class kelime_say{
function kelime_islem($checkstring){
$kelime_isle = 0;
$checkstring = preg_replace("/ +/", " ", $checkstring);
$checkstring = preg_replace("/\n+/", " ", $checkstring);
$checkstring = preg_replace("/ +/", " ", $checkstring);
$checkstring = explode(" ", $checkstring);
while (list(, $word) = each ($checkstring)) {
if (preg_match("/[0-9A-Za-zÀ-ÖØ-öø-ÿ]/", $word)) {
$kelime_isle++;
}
}
return $kelime_isle;
}
}
$test=new kelime_say();
echo $test->kelime_islem('Bu bir deneme metnidir, değil mi?');
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
1 lines
6
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX