在PHP中,如何删除包装段落,但仅限于它是唯一的段落

时间:2011-05-11 12:38:41

标签: php html

如何在以下情况下删除(在这种情况下,无用的)包装段落:

<p>Only paragraph</p>

但是当涉及多个段落时,要保持字符串不变:

<p>Paragraph 1</p>
<p>Paragraph 2</p>

preg_replace可能会在这里做,但只有你可以处理regexps ..:/

1 个答案:

答案 0 :(得分:2)

这是一种方式,2个测试用例,$ a和$ b

$a = '<p>Only paragraph</p>';

$b = '<p>Only paragraph</p>
      <p>Only paragraph</p>
      <p>Only paragraph</p>';

// change the values to $a and then $b
if( count( explode('<p>', $a) ) == 2 ){
  $c = preg_replace('#</?p>#', '', $a);
}

if( isset( $c)) {
    var_dump( $c );
}
// 'Only paragraph'

您可能还需要先添加trim()。

不满足格式错误的输入,例如

<p>para1 </p> para 2</p>