code: function XML_DeleteElements(&$Txt, $TagLst, $OnlyInner=false) {
  		$nbr_del = 0;
  		foreach ($TagLst as $tag) {
  			$t_open = '<'.$tag;
  			$t_close = '</'.$tag;
  			$p1 = 0;
  			while (($p1=$this->XML_FoundTagStart($Txt, $t_open, $p1))!==false) {
  				// get the end of the tag
  				$pe1 = strpos($Txt, '>', $p1);
  				if ($pe1===false) return false; // error in the XML formating
  				$p2 = false;
  				if (substr($Txt, $pe1-1, 1)=='/') {
  					$pe2 = $pe1;
  				} else {
  					// it's an opening+closing
  					$p2 = $this->XML_FoundTagStart($Txt, $t_close, $pe1);
  					if ($p2===false) return false; // error in the XML formating
  					$pe2 = strpos($Txt, '>', $p2);
  				}
  				if ($pe2===false) return false; // error in the XML formating
  				// delete the tag
  				if ($OnlyInner) {
  					if ($p2!==false) $Txt = substr_replace($Txt, '', $pe1+1, $p2-$pe1-1);
  					$p1 = $pe1; // for next search
  				} else {
  					$Txt = substr_replace($Txt, '', $p1, $pe2-$p1+1);
  				}
  			} 
  		}
  		return $nbr_del;
  	}
docs: Delete all tags of the types given in the list.
  @param {string} $Txt The text content to search into.
  @param {array} $TagLst List of tag names to delete.
  @param {boolean} $OnlyInner Set to true to keep the content inside the element. Set to false to delete the entire element. Default is false.