Aynı Uzunlukta Olmayan Dizilerde Yer Değiştirme

Eğer değiştirme dizisi ve olay dizisi uzunluğu aynı değilse, son eleman atanır.

PHP
43 lines
<?php
class metin{
function metin_degistir($ara,$degistir,$olay,$metin){
$finalmetin="";
$list=explode($ara,$metin);
if(is_string($degistir))
$degistir=explode(",",$degistir);
if(is_string($olay))
$olay=explode(",",$olay);
if(is_array($olay)||is_metin($olay)){
$i=0;
$degistir_yeni="";
while($i<count($olay)){
if(isset($degistir[$i]))
$degistir_yeni=$degistir[$i];
@$list[$olay[$i]].=$degistir_yeni;
$i++;
}
$i=0;
while($i<count($list)-1){
if($i==@$olay[$i])
$finalmetin.=$list[$i];
else
$finalmetin.=$list[$i];
$i++;
}
}else{
$list[$olay].=$degistir;
$i=0;
while($i<count($list)-1){
if($i==$olay)
$finalmetin.=$list[$i];
else
$finalmetin.=$list[$i];
$i++;
}
}
return $finalmetin;
}
}
$metindegistir=new metin;
echo $metindegistir->metin_degistir("sen",["ali","ayşe"],[0,1,2],"neredesin sen neredesin sen neredesin sen neredesin sen");
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
1 lines
neredesin ali neredesin ayşe neredesin ayşe neredesin
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Mors Sınıfı ile Gelişmiş Mors Alfabesine ve Yazıya Çevirme

PHP
71 lines
<?php
class Mors{
private static $mors=array(
"a"=>".-","b"=>"-...","c"=>"-.-.","d"=>"-..","e"=>".","f"=>"..-.","g"=>"--.",
"h"=>"....","i"=>"..","j"=>".---","k"=>"-.-","l"=>".-..","m"=>"--","n"=>"-.",
"o"=>"---","p"=>".--.","q"=>"--.-","r"=>".-.","s"=>"...","t"=>"-","u"=>"..-",
"v"=>"...-","w"=>".--","x"=>"-..-","y"=>"-.--","z"=>"--..","1"=>".----",
"2"=>"..---","3"=>"...--","4"=>"....-","5"=>".....","6"=>"-....","7"=>"--...",
"8"=>"---..","9"=>"----.","0"=>"-----"," "=>" ","."=>".-.-.-",","=>"--..--",
"?"=>"..--..","!"=>"..--.",":"=>"---...","'"=>".----.","\""=>".-..-.",
"="=>"-...-","EOM"=>".-.-."
);
private static $yazis=array();
static function kelime($kelime){
mb_strtolower($kelime);
$kelime = str_replace("&", "&", $kelime);
$kelime = preg_replace("/&([a-z]+);/", "", $kelime);
$kelime = str_replace(
array("$","^","*",";","%","~","@","#","[","]","<",">","\\","/","+"),
"", $kelime);
$kelime = str_replace(
array('_',"&",'ç','ş','ı','í','ì','î','ï','ú','ü','ù','û','á','ä','â','à','â','ó','ö','ò','ô','ô','ğ'),
array("-","ve",'c','s','i','i','y','y','i','u','u','u','u','a','a','a','a','a','o','o','o','o','o','g'), $kelime);
return strtolower($kelime);
}
static function MorsaCevir($kelime) {
$kelime=Mors::kelime($kelime);
$yazdir = "";
for ($i = 0; $i < strlen($kelime); $i++) {
$yazi = substr($kelime,$i,1);
// ignore unknown harfacters
if (self::$mors[$yazi] == "") continue;
$yazdir .= (self::$mors[$yazi]." ");
}
return trim($yazdir);
}
static function YaziyaCevir($kelime) {
$kelime = strtolower($kelime);
reset(self::$mors);
while (list($yazi,$kod) = each(self::$mors)) {
self::$yazis[$kod] = $yazi;
}
$yazdir = "";
$kelimeler = array();
$harfler = array();
$kelimeler = preg_split("/".self::$mors[" "]."/", $kelime, -1, PREG_SPLIT_NO_EMPTY);
foreach ($kelimeler as $kelime) {
$harfler = array_merge($harfler, preg_split("/ /", $kelime, -1, PREG_SPLIT_NO_EMPTY));
$harfler[] = '';
}
$harfler[count($harfler)-1] = self::$mors["EOM"];
foreach ($harfler as $harf) {
// ignore unknown harfacters
if ($harf == "") {
$yazdir .= " ";
}
if ($harf == self::$mors["EOM"]) {
break;
}
if (@self::$yazis[$harf] == "") {
continue;
}
$yazdir .= self::$yazis[$harf];
}
return trim($yazdir);
}
}
echo $mors=Mors::MorsaCevir('Bu bir deneme yazısıdır');
echo '<br>';
echo Mors::YaziyaCevir($mors);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
-... ..- -... .. .-. -.. . -. . -- . -.-- .- --.. .. ... .. -.. .. .-.
bu bir deneme yazisidir
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Hex Kodunu Metine, Metni Hex Koduna Çevirme

PHP
25 lines
<?php
header('Content-Type: text/html; charset=utf-8');
class Hex{
var $hex;
var $tmp;
function cevirHex($metin){
$metin=htmlspecialchars_decode($metin);
foreach(unpack('C*',$metin) as $dec){
$tmp = dechex($dec);
$this->hex[] .= strtoupper(str_repeat('0',2-strlen($tmp)).$tmp);
}
return join($this->hex);
}
function cevirMetin($hexcode){
foreach(str_split(trim($hexcode),2) as $hex){
$this->tmp .= pack('C*', hexdec($hex));
}
return htmlspecialchars($this->tmp);
}
}
$obj = new Hex;
$hexcode = "3C3F706870206563686F20226D6572686162612064C3BC6E7961223B3F3E";
echo $metin=$obj->cevirMetin($hexcode)."<br>";
echo $obj->cevirHex($metin);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
<?php echo "merhaba dünya";?>
3C3F706870206563686F20226D6572686162612064C3BC6E7961223B3F3E3C62723E
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Metin İşleme ve Format Dönüştürme Sınıfı

PHP
22 lines
<?php
class metinDonustur {
var $_deger = '';
function metinDonustur($deger) {
$this->_deger = $deger;
}
function degerVer($deger) {
$this->_deger = $deger;
}
function degerAl() {
return $this->_deger;
}
function HTML() {
return htmlspecialchars($this->_deger);
}
}
$m=new metinDonustur("merhaba<br>");
echo $m->degerAl();
$m->degerVer("ulusan<br>");
echo $m->degerAl();
echo $m->HTML();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
3 lines
merhaba
ulusan
ulusan<br>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX