playwright Posted June 4, 2010 Share Posted June 4, 2010 I want to remove a div tag with all its content..so far i' m able to remove tags that don't contain any other tags inside..e.g <b>bla bla bla </b>..However the div tag i want to remove is like <div class="" style=""><tag>bla bla...<other tag/>....</tag></div>..any ideas?? Quote Link to comment https://forums.phpfreaks.com/topic/203847-remove-special-tag-and-its-content/ Share on other sites More sharing options...
newbtophp Posted June 4, 2010 Share Posted June 4, 2010 $content = preg_replace('~<div class="" style="">(.*?)</div>~', '', $content); Quote Link to comment https://forums.phpfreaks.com/topic/203847-remove-special-tag-and-its-content/#findComment-1067768 Share on other sites More sharing options...
mctrivia Posted June 4, 2010 Share Posted June 4, 2010 $content = preg_replace('~<div class="" style="">(.*?)</div>~', '', $content); only works if the div haves are both on the same line. what if they aren't? I use: $content = preg_replace('~<div class="" style="">[^|]*?</div>~', '', $content); this works even if there is a line break in between but fails if the not so used | symbol is in between anyone know a better way? Quote Link to comment https://forums.phpfreaks.com/topic/203847-remove-special-tag-and-its-content/#findComment-1067963 Share on other sites More sharing options...
cags Posted June 4, 2010 Share Posted June 4, 2010 You can use the s modifier to make the dot match newline characters. But I should warn you this will only work if you don't have nested div tags. Quote Link to comment https://forums.phpfreaks.com/topic/203847-remove-special-tag-and-its-content/#findComment-1067972 Share on other sites More sharing options...
mctrivia Posted June 4, 2010 Share Posted June 4, 2010 ah yes why did i not think of that $content = preg_replace('~<div class="" style="">[\s\S]*?</div>~', '', $content); as for nested divs it will remove the outermost div only. placing inside a loop that keeps repeating until no more divs are found would remove all nested divs. Quote Link to comment https://forums.phpfreaks.com/topic/203847-remove-special-tag-and-its-content/#findComment-1067989 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.