نمایش نتایج: از شماره 1 تا 10 , از مجموع 10

موضوع: این تابع چه بلایی سر رشته میاره؟

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #10
    عضو دائم T.Toosi آواتار ها
    تاریخ عضویت
    Jun 2015
    نوشته ها
    1,071
    تشکر تشکر کرده 
    278
    تشکر تشکر شده 
    2,936
    تشکر شده در
    1,329 پست

    پیش فرض پاسخ : این تابع چه بلایی سر رشته میاره؟

    شاید برای مورد اولی هدفش پاک کردن فاصله ها بوده
    چون در صورت عدم وجود در انتها فانکشن با رشته عبارت nbsp; رو همراه با رشته برمیگردوند
    ورودی تابع رشته است بدون entity name، داخل تابع توسط متد htmlentities کارکتر هامون به entity تبدیل خواهد شد، اما اگر در ورودی تابع   ارسال کنید به مشکل میخورد و nbsp; برگشت میدهد (به صورت خلاصه اگر ورودی تابع مستقیم بنویسیم   خروجی nbsp; خواهد آمد)

    نکته ی دیگری که هست در فلگ دیفالت (ENT_HTML401) این متد از کارکتر non breaking space یا همون   پشتیبانی نمی کند، پس اگر ورودی تابع بالای ما non breaking space داشته باشد، متد htmlentities همون کارکتر فاصله را نمایش میدهد و نه   و حتی ‌ هم پشتیبانی نمیکند (کلا 4 تا کارکتر فلگ دیفالت پشتیبانی میکند که در پایین لیست کردم) برای همین کلا این لاین اضافه و بدون کاربرد است مگر اینکه فلگ را عوض کنیم.

    بله. نیم فاصله و فاصله رو تبدیل کرده به فاصله و بقیه Entity رو حذف کرده.
    درست است، فاصله ها را تبدیل کرده است، اگر نباشد و چند جمله باشد بهم میچسبند.

    ولی من بارم نفهمیدم در htmlentities وقتی flags رو null گذاشته یعنی تابع بدون flags کار میکنه و اروری نمیده یا نه چون flag دیفالت یعنی ENT_COMPAT | ENT_HTML401 رو استفاده میکنه اروری نمیده؟
    این پارامتر اختیاری است، حالا اگر میخواهید ببینید اگر مقدار null بزاریم چه کارکتر هایی را این فلگ پشتیبانی میکند به صورت زیر عمل کنید : (null هم بزارید باز از ENT_HTML401 استفاده خواهد کرد)

    کد PHP:
    var_dump(get_html_translation_table(null)); 
    خروجی :

    کد:
    array (size=4)
      '"' => string '"' (length=6)
      '&' => string '&' (length=5)
      '<' => string '&lt;' (length=4)
      '>' => string '&gt;' (length=4)
    حالا از فلگ زیر استفاده کنید :

    کد PHP:
    var_dump(get_html_translation_table(ENT_HTML5)); 
    خروجی :

    کد:
    array (size=252)
      '"' => string '&quot;' (length=6)
      '&' => string '&amp;' (length=5)
      '<' => string '&lt;' (length=4)
      '>' => string '&gt;' (length=4)
      ' ' => string '&nbsp;' (length=6)
      '¡' => string '&iexcl;' (length=7)
      '¢' => string '&cent;' (length=6)
      '£' => string '&pound;' (length=7)
      '¤' => string '&curren;' (length=8)
      '¥' => string '&yen;' (length=5)
      '¦' => string '&brvbar;' (length=8)
      '§' => string '&sect;' (length=6)
      '¨' => string '&uml;' (length=5)
      '©' => string '&copy;' (length=6)
      'ª' => string '&ordf;' (length=6)
      '«' => string '&laquo;' (length=7)
      '¬' => string '&not;' (length=5)
      '­' => string '­' (length=5)
      '®' => string '&reg;' (length=5)
      '¯' => string '&macr;' (length=6)
      '°' => string '&deg;' (length=5)
      '±' => string '&plusmn;' (length=8)
      '²' => string '&sup2;' (length=6)
      '³' => string '&sup3;' (length=6)
      '´' => string '&acute;' (length=7)
      'µ' => string '&micro;' (length=7)
      '¶' => string '&para;' (length=6)
      '·' => string '&middot;' (length=8)
      '¸' => string '&cedil;' (length=7)
      '¹' => string '&sup1;' (length=6)
      'º' => string '&ordm;' (length=6)
      '»' => string '&raquo;' (length=7)
    میبینید این فلگ 252 تا کارکتر را پشتیبانی و تبدیل میکند، پس اول ببینید رشته ورودی این تابع شما چه Handle ای نیاز دارد و فلگ مناسب با آن را انتخاب کنید.
    ویرایش توسط T.Toosi : August 13th, 2017 در ساعت 03:05

  2. تعداد تشکر ها ازT.Toosi به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 0
    آخرين نوشته: June 21st, 2017, 17:51
  2. پاسخ ها: 2
    آخرين نوشته: April 17th, 2017, 17:29
  3. پاسخ ها: 2
    آخرين نوشته: January 30th, 2017, 12:33
  4. پاسخ ها: 10
    آخرين نوشته: December 10th, 2014, 12:31
  5. پاسخ ها: 39
    آخرين نوشته: March 6th, 2014, 11:43

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •