حذف تمام attr ها از تگ های درون رشته بجز style
سلام دوستان
یه ریجکس پیدا کردم برای حذف attr ها از تگ های دورن رشته. اما میخوام خاصیت style رو حذف نکنه
چطور تغییرش بدم؟؟
$text = '<div class="test"><p onmousemove="javascript:alert(1);">Clean <a href="#">text</a></p></div>';
$cleanText = preg_replace("/<([a-z][a-z0-9]*)[^>]*?(\/?)>/si",'<$1$2>', $text);
نقل قول: حذف تمام attr ها از تگ های درون رشته بجز style
یه ریجکس پیدا کردم که همه attr ها بجز style رو حذف میکنه.
کد HTML:
$text = '<p id="paragraph" style="color:red" ONMOUSEMOvE="javascript:alert(1);">This is a paragraph with an image</p>';
echo preg_replace("/<([a-z][a-z0-9]*)(?:[^>]*(\sstyle=['\"][^'\"]*['\"]))?[^>]*?(\/?)>/i",'<$1$2$3>', $text);
ولی من میخوام یه سری خاصیت دیگه هم حفظ بشه مثل class و colspan