• 29-04-2016, 18:08:47
    #1
    Merhabalar,


    PHP ile textarea'ya yazan metni istediğim şekilde karakterlerini değiştirmek istiyorum. Mesela "kalem" metni yazıldı, ben onu K = 2, a = 4, l = 5, e = 6, m =1 olarak değiştirmek ve ekrana 24561 şeklinde yazdırmak istiyorum.

    Bunu nasıl yapabilirim ?
  • 29-04-2016, 18:10:55
    #2
    $harf = array("k","a","l","e","m");
    $rakam = array(2,4,5,6,1);
    echo str_replace($harf, $rakam, "kalem");
  • 29-04-2016, 18:20:03
    #3
    PsdBul adlı üyeden alıntı: mesajı görüntüle
    $harf = array("k","a","l","e","m");
    $rakam = array(2,4,5,6,1);
    echo str_replace($harf, $rakam, "kalem");
    $m1	= $_POST["mesaj"];
    		$bul = array("a","b","c","ç","d","e","f","g","ğ","h","ı","i","j","k","l","m","n","o","ö","p","r","s","ş","t","u","ü","v","y","z",".",",","!","?","(",")","'"," ","1","2","3","4","5","6","7","8","9","0");
    		$degis = array(1511,1517,1523,1529,1535,1541,1547,1553,1559,1565,1571,1577,1583,1589,1595,1601,1607,1613,1619,1625,1631,1637,1643,1649,1655,1661,1667,1673,1679,1685,1691,1697,1703,1709,1715,1721,1727,1733,1739,1745,1751,1757,1763,1769,1775,1781,1787,1793);
    		$son = str_replace($bul, $degis, $m1);
    		echo $son;
    Böyle yapıyorum ve forma 1 harf yazmama rağmen şöyle bir şey çıkıyor.

    11761781117617811176178111761781517617811117617815 17617811176178111761781117617815176178111176178151 76178111761781517617811176178111761781517617811176 1781
  • 29-04-2016, 18:40:21
    #4
    lMarjinal adlı üyeden alıntı: mesajı görüntüle
    $m1	= $_POST["mesaj"];
    		$bul = array("a","b","c","ç","d","e","f","g","ğ","h","ı","i","j","k","l","m","n","o","ö","p","r","s","ş","t","u","ü","v","y","z",".",",","!","?","(",")","'"," ","1","2","3","4","5","6","7","8","9","0");
    		$degis = array(1511,1517,1523,1529,1535,1541,1547,1553,1559,1565,1571,1577,1583,1589,1595,1601,1607,1613,1619,1625,1631,1637,1643,1649,1655,1661,1667,1673,1679,1685,1691,1697,1703,1709,1715,1721,1727,1733,1739,1745,1751,1757,1763,1769,1775,1781,1787,1793);
    		$son = str_replace($bul, $degis, $m1);
    		echo $son;
    Böyle yapıyorum ve forma 1 harf yazmama rağmen şöyle bir şey çıkıyor.

    11761781117617811176178111761781517617811117617815 17617811176178111761781117617815176178111176178151 76178111761781517617811176178111761781517617811176 1781
    $m1	= $_POST["mesaj"];
    		$bul = array("a","b","c","ç","d","e","f","g","ğ","h","ı","i","j","k","l","m","n","o","ö","p","r","s","ş","t","u","ü","v","y","z",".",",","!","?","(",")","'"," ","1","2","3","4","5","6","7","8","9","0");
    		$degis = array(1511,1517,1523,1529,1535,1541,1547,1553,1559,1565,1571,1577,1583,1589,1595,1601,1607,1613,1619,1625,1631,1637,1643,1649,1655,1661,1667,1673,1679,1685,1691,1697,1703,1709,1715,1721,1727,1733,1739,1745,1751,1757,1763,1769,1775,1781,1787,1793);
    		$son = str_replace($bul, "x$degisx", $m1);
    		echo $m1."<hr>".$son;
    yukardakini bir dene sonuca bakalım.Normalde çalışması lazım $_POST problemi olduğunu düşünüyorum.
  • 29-04-2016, 18:43:52
    #5
    CoLLeR adlı üyeden alıntı: mesajı görüntüle
    $m1	= $_POST["mesaj"];
    		$bul = array("a","b","c","ç","d","e","f","g","ğ","h","ı","i","j","k","l","m","n","o","ö","p","r","s","ş","t","u","ü","v","y","z",".",",","!","?","(",")","'"," ","1","2","3","4","5","6","7","8","9","0");
    		$degis = array(1511,1517,1523,1529,1535,1541,1547,1553,1559,1565,1571,1577,1583,1589,1595,1601,1607,1613,1619,1625,1631,1637,1643,1649,1655,1661,1667,1673,1679,1685,1691,1697,1703,1709,1715,1721,1727,1733,1739,1745,1751,1757,1763,1769,1775,1781,1787,1793);
    		$son = str_replace($bul, "x$degisx", $m1);
    		echo $m1."<hr>".$son;
    yukardakini bir dene sonuca bakalım.Normalde çalışması lazım $_POST problemi olduğunu düşünüyorum.
    Undefined variable: degisx 
    
    hhhh
    
    (hr)
    
    xxxx
    hatasını alıyorum hocam.
  • 29-04-2016, 18:54:00
    #6
    lMarjinal adlı üyeden alıntı: mesajı görüntüle
    $m1	= $_POST["mesaj"];
    		$bul = array("a","b","c","ç","d","e","f","g","ğ","h","ı","i","j","k","l","m","n","o","ö","p","r","s","ş","t","u","ü","v","y","z",".",",","!","?","(",")","'"," ","1","2","3","4","5","6","7","8","9","0");
    		$degis = array(1511,1517,1523,1529,1535,1541,1547,1553,1559,1565,1571,1577,1583,1589,1595,1601,1607,1613,1619,1625,1631,1637,1643,1649,1655,1661,1667,1673,1679,1685,1691,1697,1703,1709,1715,1721,1727,1733,1739,1745,1751,1757,1763,1769,1775,1781,1787,1793);
    		$son = str_replace($bul, $degis, $m1);
    		echo $son;
    Böyle yapıyorum ve forma 1 harf yazmama rağmen şöyle bir şey çıkıyor.

    11761781117617811176178111761781517617811117617815 17617811176178111761781117617815176178111176178151 76178111761781517617811176178111761781517617811176 1781
    a yazdığınızda 1511e çeviriyor sonra gidip 1leri tekrar 1739 yapıyor 5i 1763 yapıyor ve böyle yapa yapa gidiyor. sistem patladı
  • 29-04-2016, 18:56:31
    #7
    PsdBul adlı üyeden alıntı: mesajı görüntüle
    a yazdığınızda 1511e çeviriyor sonra gidip 1leri tekrar 1739 yapıyor 5i 1763 yapıyor ve böyle yapa yapa gidiyor. sistem patladı
    Ee ne yapcaz şimdi

    Başka bir yolu yok mudur acaba ?

    Bu arada yardımlarınızdan dolayı teşekkür ederim.
  • 29-04-2016, 19:06:01
    #8
    $son = str_replace($bul, "x".$degis."x", $m1);

    sen benim verdiğim kodu bu şekilde değiştirp sonucu buraya yaz ben sana bir function hazırlayacağım.
  • 29-04-2016, 19:10:58
    #9
    CoLLeR adlı üyeden alıntı: mesajı görüntüle
    $son = str_replace($bul, "x".$degis."x", $m1);

    sen benim verdiğim kodu bu şekilde değiştirp sonucu buraya yaz ben sana bir function hazırlayacağım.
    Notice: Array to string conversion in C:\xampp\htdocs\php\ggg\sonuc.php on line 18
    f
    xAxArraxArrayxxxArraxArrayxxaxArrayxx

    şeklinde geliyor.