PDA

View Full Version : سوال: چطور این متن رو در خروجی چاپ کنم



Metal Gear Solid
دوشنبه 17 مرداد 1390, 10:34 صبح
سلام

من از ادیتور tinymce استفاده میکنم و میخوام ادیت هایی که ادیتور انجام میده به همراه تگ های HTML اش توی دیتابس ذخیره شه که بعداً درست و حسابی به کاربرا نشون داده شه.
همه چیز خوب پیش میره وقتی از mysql_real_escape_string استفاده میکنم الا زمانی که به کاراکتر & میرسه
تست کردم وقتی به این کاراکتر میرسه باقی متن رو دیگه توی دیتابیس ذخیره نمیکنه.
من چه کار کنم که هم از استایل های ادیتور استفاده کنم هم از شر علامت & خلاص شم؟

مثلاً من چطور این رو در دیتابیس ذخیره کنم


<div> Hello me & you </div>


راستی من از این کلاس برای اعتبارسنجی استفاده میکنم.

پارامتر $preventExtraChars برای زمانی به کار میبرم که بخوام مثلاً نام کاربری رو اعتبار سنجی کنم. برای Text area ها $preventExtraChars را به False تغییر میدم.


public function validateString( $nameString, $preventExtraChars = true ){

if ( !empty( $nameString )){
if ( $preventExtraChars ) {
$nameString = trim( $nameString );
$nameString = htmlentities($nameString, ENT_QUOTES, "UTF-8");
$arrayInput = str_split( $nameString );
for ( $i = 0; $i < count( $arrayInput ); $i++ )
if ( chr( ord( $arrayInput[ $i ] ) ) <= 31 )
$Input = str_replace( $arrayInput, "", $nameString );
$symbol = array('/', '\\', '[', ']', '=', '\x00','\x7F','\xC0','\xFD', '\n', '\t', '\r', '\x1a', '&');
$nameString = preg_replace("/<.*?>/", "", $nameString );
$nameString = str_replace( $symbol , "", $nameString);
$nameString = strip_tags( $nameString );
}
$nameString = htmlentities($nameString, ENT_QUOTES, "UTF-8");
$nameString = trim( $nameString );

if( get_magic_quotes_gpc() )
$nameString = stripslashes( $nameString );


if ( function_exists("mysql_real_escape_string") )
return mysql_real_escape_string( $nameString );
else
return false;
}
else
return false;
}

خواهش میکنم ببینید و در صورتی که اضافه یا کم کاری کردم در این متد به من اطلاع بدید.

رضا قربانی
سه شنبه 18 مرداد 1390, 10:57 صبح
موقعی که توی بانک با دستورات sql می خوایی insert کنی باید این تگ ها رو توی قسمت مقدارش بهش اضافه کنی . به همین راحتی .

Metal Gear Solid
سه شنبه 18 مرداد 1390, 14:37 عصر
سلام
اون کلاس رو خودم نوشتم. و این مشکلی هم که اینجا نوشته بودم به خاطر استفاده از Ajax و انکد نکردن اطلاعات در سمت جاوااسکریپت بود.