۲ مصطفی مهرجو
کار نکردن تابع ایکس اس اس کلین
جامعه پی اچ پی ایجاد شده در ۰۵ فروردین ۱۴۰۲

سلام .

filter_var(htmlspecialchars($str), FILTER_SANITIZE_STRING)

این خط کد رو وقتی مینویسم روی قسمت دوم یه خط میکشه . به نظرم یه چیزی رو باید فعال کنم تا این کار کنه . چون کار نمی‌کنه

سلام به نظرم استفاده از این خط کد منسوخ شده و سرچی که کردم اگ به جای قسمت دوم خط زیر رو بزنیم کار میکنه :


filter_var(htmlspecialchars($str), FILTER_SANITIZE_FULL_SPECIAL_CHARS)
مصطفی مهرجو ۰۵ فروردین ۱۴۰۲، ۲۰:۲۲

سلام مصطفی عزیز

بله، می‌توانید از کد زیر بجای کدی که ارائه دادید استفاده کنید تا مشکل حل شود:

filter_var(htmlspecialchars($str, ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8"), FILTER_SANITIZE_FULL_SPECIAL_CHARS);

در اینجا، ENT_QUOTES مشخص می‌کند که هم علامت‌های تک و نقل قول تبدیل شوند، و ENT_SUBSTITUTE در صورتی که کاراکترهای نامعتبر وجود داشته باشند، به جای آنها کاراکترهایی معتبر جایگزین شوند. همچنین با استفاده از UTF-8، تضمین می‌شود که رشته ورودی با فرمت UTF-8 است.

به علاوه، توصیه می‌شود که همیشه از توابع امن‌تری مانند htmlspecialchars() به جای توابعی مانند htmlentities() استفاده کنید، زیرا توابع اولی باعث می‌شوند که فقط کاراکترهایی که برای نمایش در صفحه‌های وب لازم است تغییر کنند.

بهترین پاسخ
احمدرضا فاطمی کیا ۰۵ فروردین ۱۴۰۲، ۲۰:۵۰