我得到了这个
$description = '<p>text1</p><p>text2</p><p>text3</p><p>text4</p><p>textn</p>'
我只想删除<p>text3</p>
我的结果将是:
$description = '<p>text1</p><p>text2</p><p>text3</p>'
我的猜测是我们需要使用preg_replace
和一些正则表达式,但我无法写出一个正常的。
答案 0 :(得分:2)
你可以......
function str_occurance($needle, $haystack, $occurance) {
$occurance += 2;
$arr = explode($needle, $haystack, $occurance);
unset($arr[0]);
$arr = array_values($arr);
$key = count($arr) - 1;
unset($arr[$key]);
$str = $needle . implode($needle, $arr);
return $str;
}
不是最漂亮的,但它确实有效。
编辑:使用:
$description = '<p>text1</p><p>text2</p><p>text3</p><p>text4</p><p>textn</p>';
$split = '<p>';
$return = 3;
$new = str_occurance($needle, $description, $return);
echo $new; // returns <p>text1</p><p>text2</p><p>text3</p>