PDA

View Full Version : حذف تمام attr ها از تگ های درون رشته بجز style



milad_d993
یک شنبه 13 تیر 1400, 16:57 عصر
سلام دوستان
یه ریجکس پیدا کردم برای حذف 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);

milad_d993
دوشنبه 14 تیر 1400, 12:08 عصر
یه ریجکس پیدا کردم که همه attr ها بجز style رو حذف میکنه.


$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