Attempted regex:$pattern = '#</ListItem>\s*<BulletList>(.*?)</BulletList>#s';$bulletlist = preg_replace($pattern, "<BulletList>\\1</BulletList></ListItem>", $bulletlist);Input data:<?xml version="1.0" encoding="utf-8"?><BulletList> <ListItem>Ut pellentesque nunc gravida odio.</ListItem> <BulletList> <ListItem>Aliquam fermentum neque ut risus.</ListItem> <ListItem>Suspendisse elementum nunc nec libero.</ListItem> <ListItem>Fusce vehicula imperdiet urna.</ListItem> <BulletList> <ListItem>Curabitur tempus metus vitae dolor.</ListItem> </BulletList> </BulletList></BulletList>Actual output from above regex:<BulletList> <ListItem>Ut pellentesque nunc gravida odio.<BulletList> <ListItem>Aliquam fermentum neque ut risus.</ListItem> <ListItem>Suspendisse elementum nunc nec libero.</ListItem> <ListItem>Fusce vehicula imperdiet urna.</ListItem> <BulletList> <ListItem>Curabitur tempus metus vitae dolor.</ListItem> </BulletList></BulletList></ListItem> </BulletList>Needed output data:<BulletList> <ListItem>Ut pellentesque nunc gravida odio.<BulletList> <ListItem>Aliquam fermentum neque ut risus.</ListItem> <ListItem>Suspendisse elementum nunc nec libero.</ListItem> <ListItem>Fusce vehicula imperdiet urna.<BulletList> <ListItem>Curabitur tempus metus vitae dolor.</ListItem> </BulletList></ListItem> </BulletList></ListItem></BulletList>