حذف شدن url های موجود در تگ های html وقتی از کتابخانه HTMLPurifier استفاده می کنم

Alireza 9 ماه پیش

من برای حذف تگ های html ناخواسته در ورودی فرم ها از کتابخانه HTMLPurifier استفاده می کنم. مشکل من اینه که وقتی ورودی من دارای آدرس http یا https هستش HTMLPurifier  آدرس رو حذف میکنه مثلا

<a href="https://www.google.com/">google</a>

تبدیل میشه به 

<a href="%5C">google</a>

این مشکل در عکس ها هم صدق میکنه و مثلا

<img alt="laugh" src="/lib/ckeditor/plugins/smiley/images/example.gif" title="laugh">

تبدیل میشه به 

<img alt="&quot;laugh&quot;" src="%5C" title="&quot;laugh&quot;">

چرا “%5c” جایگزین اطلاعات من میشه؟

1 پاسخ
برای قرار دادن دیدگاه وارد شوید
Mostafa 9 ماه پیش

من هم برای مدتی همین مشکل رو داشتم. “5c%” کد url برای بک اسلشه. مشکل من اینطور حل شد:

	$form_input_text = isset( $_POST['content'] );
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$form_input_text = $purifier->purify($form_input_text );

تغییر دادم به 

	$form_input_text = isset( $_POST['content'] );
/////////// added//////
$form_input_text =stripslashes_deep( $form_input_text );
//////////////////////
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$form_input_text = $purifier->purify($form_input_text );