Example #1
0
 /**
  * gets attribute from a tag string
  */
 public static function fixHtmlTagStructure(&$string, $remove_surrounding_p_tags = 1)
 {
     if (empty($string)) {
         return;
     }
     // Combine duplicate <p> tags
     nnText::combinePTags($string);
     // Move div nested inside <p> tags outside of it
     nnText::moveDivBlocksOutsidePBlocks($string);
     // Remove duplicate ending </p> tags
     nnText::removeDuplicateTags($string, '/p');
     if ($remove_surrounding_p_tags) {
         // Remove surrounding <p></p> blocks
         nnText::removeSurroundingPBlocks($string);
     }
 }
Example #2
0
 /**
  * gets attribute from a tag string
  */
 public static function fixHtmlTagStructure(&$str)
 {
     // Move div nested inside <p> tags outside of it
     // input: <p><div>...</div></p>
     // output: </p><div>...</div><p>
     $str = preg_replace('#((?:<p(?: [^>]*)?>\\s*)?)((?:<br ?/?>)?\\s*<div(?: [^>]*)?>.*?</div>\\s*(?:<br ?/?>)?)((?:\\s*</p>)?)#si', '\\3\\2\\1', $str);
     // Combine duplicate <p> tags
     nnText::combinePTags($str);
     // Remove duplicate ending </p> tags
     nnText::removeDuplicateTags($str, '/p');
 }