PDA

View Full Version : حذف کوتیشن از اول و آخر رشته



mahdicomp
سه شنبه 22 اسفند 1391, 22:07 عصر
با سلام دارم یه برنامه مینویسم که باید جفت کوتیشن رو از اول و آخر رشته حذف کنم حالا هر کار میکنم نمیشه
از
trim
str_replace
استفاده کردم نشد
کد اینه

$pro_array .="array('code'=>$product_id,'qty'=>$qty),";
حالا تو یه پارامتر

'products' => array( 'BasketProduct' =>array(
$pro_array)
فراخوانی میکنم به جای

"array('code'=>$product_id,'qty'=>$qty),"
باید این باشه

array('code'=>$product_id,'qty'=>$qty),
کمک کنید

desatir7316
سه شنبه 22 اسفند 1391, 22:46 عصر
این مثال رو ببین ، خودت متوجه می شی:

$txt= "\"some text\"";
echo $txt;
echo "<br>";
$txt= str_replace('"', '', $txt);
echo $txt;

خروجی این میشه:
"some text"
some text
یعنی کوتیشن حذف شد، حالا تو برنامت یه همچین کاری انجام بده

MMSHFE
چهارشنبه 23 اسفند 1391, 01:15 صبح
برای اجرای چنین کدهایی باید از eval استفاده کنید.

MostafaEs3
چهارشنبه 23 اسفند 1391, 04:00 صبح
برای اجرای چنین کدهایی باید از eval استفاده کنید.

آقای شهرکی روی بیشتر میزبان ها Eval غیرفعال هست ...! :افسرده:


با سلام دارم یه برنامه مینویسم که باید جفت کوتیشن رو از اول و آخر رشته حذف کنم حالا هر کار میکنم نمیشه
از
trim
str_replace
استفاده کردم نشد
کد اینه

$pro_array .="array('code'=>$product_id,'qty'=>$qty),";
حالا تو یه پارامتر

'products' => array( 'BasketProduct' =>array(
$pro_array)
فراخوانی میکنم به جای

"array('code'=>$product_id,'qty'=>$qty),"
باید این باشه

array('code'=>$product_id,'qty'=>$qty),
کمک کنید

این روش رو امتحان کن ... تنها موردی که مهم هست اینه که دوطرف رشته ارسالی به تابع (executable) بایستی کوتیشن و درون اون رشته تماما دابل کوتیشن قرار گرفته باشه :چشمک:



function getArray(&$string) {
$functionCreate = create_function('', "return (". $string .");");
return $functionCreate();
}

$string = 'array("code"=>$product_id,"qty"=>$qty)';
echo '<pre>';
print_r(getArray($string));
echo '</pre>';

MostafaEs3
چهارشنبه 23 اسفند 1391, 04:06 صبح
این مثال رو ببین ، خودت متوجه می شی:

$txt= "\"some text\"";
echo $txt;
echo "<br>";
$txt= str_replace('"', '', $txt);
echo $txt;

خروجی این میشه:
"some text"
some text
یعنی کوتیشن حذف شد، حالا تو برنامت یه همچین کاری انجام بده

دقیقا این حالت غیرممکنه چون کوتیشن پیشفرض (که رشته درون اون قرار میگیره) رو نمیشه حذف کرد مگر با روشی که توی کد بالا گفتم. اونم دراصل حذف نمیکنه و درون یک تابع (ساختگی) پردازش میکنه