Most cichlids will clear plants from around their territory. If the tank is big enough you can usually have plants on one side and the fish can have their cave on the other side. But it depends on the fish, some will dig up everything and others won't touch anything.
Anubias, Java Fern and Bolbitis should be super glued or tied to rocks or driftwood. That would stop the fish digging them up and they will grow on the wood.
Water Sprite is a floating plant that can also be planted in the gravel. If they dig it up then it can float, or you can just leave it floating to begin with.
You can put plants in pots and cover the pot with some shadecloth/ flyscreen. Cut a small hole in the flyscreen for the plant to grow through. The shadecloth/ flyscreen will stop the fish being able to dig up the gravel in the pots. You can put rocks on top of the pot to stop the fish digging the gravel out too.