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

Alireza 1 سال پیش

من برای حذف تگ های 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 1 سال پیش

من هم برای مدتی همین مشکل رو داشتم. “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 );