本文整理汇总了PHP中NNText::combinePTags方法的典型用法代码示例。如果您正苦于以下问题:PHP NNText::combinePTags方法的具体用法?PHP NNText::combinePTags怎么用?PHP NNText::combinePTags使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NNText
的用法示例。
在下文中一共展示了NNText::combinePTags方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fixHtmlTagStructure
/**
* 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);
}
}
示例2: cleanSurroundingTags
public static function cleanSurroundingTags($tags, $elements = array('p', 'span'))
{
require_once __DIR__ . '/text.php';
$breaks = '(?:(?:<br ?/?>|:\\|:)\\s*)*';
$keys = array_keys($tags);
$string = implode(':|:', $tags);
// Remove empty tags
while (preg_match('#<(' . implode('|', $elements) . ')(?: [^>]*)?>\\s*(' . $breaks . ')<\\/\\1>\\s*#s', $string, $match)) {
$string = str_replace($match['0'], $match['2'], $string);
}
// Remove paragraphs around block elements
$block_elements = array('p', 'div', 'table', 'tr', 'td', 'thead', 'tfoot', 'h[1-6]');
$block_elements = '(' . implode('|', $block_elements) . ')';
while (preg_match('#(<p(?: [^>]*)?>)(\\s*' . $breaks . ')(<' . $block_elements . '(?: [^>]*)?>)#s', $string, $match)) {
if ($match['4'] == 'p') {
$match['3'] = $match['1'] . $match['3'];
NNText::combinePTags($match['3']);
}
$string = str_replace($match['0'], $match['2'] . $match['3'], $string);
}
while (preg_match('#(</' . $block_elements . '>\\s*' . $breaks . ')</p>#s', $string, $match)) {
$string = str_replace($match['0'], $match['1'], $string);
}
$tags = explode(':|:', $string);
$new_tags = array();
foreach ($tags as $key => $val) {
$key = isset($keys[$key]) ? $keys[$key] : $key;
$new_tags[$key] = $val;
}
return $new_tags;
}