انجمن پشتیبانی فارسی فریم ورک کیک پی اچ پی - cakephp

نسخه‌ی کامل: فارسی کردن کد کپچا
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
کد کپچای من فقط عددی 4 رقمی است اما لاتین
چگونه فارسی کنمش؟ (یعنی فقط عدد 4 رقمی فارسی نمایش داده بشه)
یه فونت Yekan.ttf گذاشتم کنارش
اما کدش رو چگونه ویرایش کنم؟

کد:
<?php
class Captcha {
var $chars = '123456789'; // O and 0 (Zero) are visually similar, that's why I am not using it
var $RandomStr = '';
function OutputCaptcha($width = 100, $height = 30, $length = 6) {
for ($i = 0; $i < $length; $i++) {
$pos = mt_rand(0, strlen($this->chars) - 1);
$this->RandomStr .= substr($this->chars, $pos, 1);
}
$ResultStr = $this->RandomStr;
$NewImage = imagecreatefromjpeg("img.jpg");
$TextColor = imagecolorallocate($NewImage, 255, 55, 155);
imagestring($NewImage, 5, 15, 3, $ResultStr, $TextColor);
$_SESSION['captcha_val'] = $ResultStr;
header("Content-type: image/jpeg");
imagejpeg($NewImage);
}
function CheckAccept($captcha) {
return $_SESSION['captcha_val'] == $captcha;
}
}
?>

درود - خب وقتی فونت رو میخوای عوض کنید باید آدرس فونت جدید رو با آدرس فونت قدیمی عوض کنید.
شناسه اعداد فارسی در ینیکد را باید بدست بیارید و اعداد انگلیسی را با اعداد فارسی جایگزین کنید.
کد پی‌اچ‌پی:
https://github.com/RitaCo/cakephp-tools-plugin/blob/rita3/src/I18n/PStrings.php 
(2015/09/20, 11:21 AM)sallamatii نوشته: [ -> ]سلام
کد کپچای من فقط عددی 4 رقمی است اما لاتین
چگونه فارسی کنمش؟ (یعنی فقط عدد 4 رقمی فارسی نمایش داده بشه)
یه فونت Yekan.ttf گذاشتم کنارش
اما کدش رو چگونه ویرایش کنم؟

کد:
<?php
class Captcha {
var $chars = '123456789'; // O and 0 (Zero) are visually similar, that's why I am not using it
var $RandomStr = '';
function OutputCaptcha($width = 100, $height = 30, $length = 6) {
for ($i = 0; $i < $length; $i++) {
$pos = mt_rand(0, strlen($this->chars) - 1);
$this->RandomStr .= substr($this->chars, $pos, 1);
}
$ResultStr = $this->RandomStr;
$NewImage = imagecreatefromjpeg("img.jpg");
$TextColor = imagecolorallocate($NewImage, 255, 55, 155);
imagestring($NewImage, 5, 15, 3, $ResultStr, $TextColor);
$_SESSION['captcha_val'] = $ResultStr;
header("Content-type: image/jpeg");
imagejpeg($NewImage);
}
function CheckAccept($captcha) {
return $_SESSION['captcha_val'] == $captcha;
}
}
?>


یه فانکشن خیلی کاربردی هست.که اعداد لاتین رو با فارسی جایگذاری میکنه.احساس میکنم شاید روی کپچا هم جواب بده.خیلی ساده میتونید اعدادی که رندوم تولید میشن رو با این به فارسی تبدیل کنید.
کد پی‌اچ‌پی:
 function Convertnumber2pershian($srting) {


       $srting str_replace('0''۰'$srting);
       $srting str_replace('1''۱'$srting);
       $srting str_replace('2''۲'$srting);
       $srting str_replace('3''۳'$srting);
       $srting str_replace('4''۴'$srting);
       $srting str_replace('5''۵'$srting);
       $srting str_replace('6''۶'$srting);
       $srting str_replace('7''۷'$srting);
       $srting str_replace('8''۸'$srting);
       $srting str_replace('9''۹'$srting);

       return $srting;
   
دوستان سوال منم هست کسی می دونه ؟؟؟؟

http://tajhizyar.com/