Php 修改函数以包含段落

Php 修改函数以包含段落,php,wordpress,Php,Wordpress,我有一个摘录功能,可以在第一段(第一个标记之后)之后剪切内容 我需要修改它,这样我可以在第二段或第三段之后剪切内容,即第二段或第三段标记。我的php知识不是很好,因此希望您能提供帮助 这是我的功能 if ( ! function_exists( 'wpse0001_custom_wp_trim_excerpt' ) ) : function wpse0001_custom_wp_trim_excerpt($wpse0001_excerpt) { global $post; $raw_exce

我有一个摘录功能,可以在第一段(第一个

标记之后)之后剪切内容

我需要修改它,这样我可以在第二段或第三段之后剪切内容,即第二段或第三段

标记。我的php知识不是很好,因此希望您能提供帮助

这是我的功能

if ( ! function_exists( 'wpse0001_custom_wp_trim_excerpt' ) ) : 

function wpse0001_custom_wp_trim_excerpt($wpse0001_excerpt) {
global $post;
$raw_excerpt = $wpse0001_excerpt;
if ( '' == $wpse0001_excerpt ) {

$wpse0001_excerpt = get_the_content('');
$wpse0001_excerpt = strip_shortcodes( $wpse0001_excerpt );
$wpse0001_excerpt = apply_filters('the_content', $wpse0001_excerpt);
$wpse0001_excerpt = substr( $wpse0001_excerpt, 0, strpos( $wpse0001_excerpt, '</p>' ) + 4 );
$wpse0001_excerpt = str_replace(']]>', ']]&gt;', $wpse0001_excerpt);

$excerpt_end = ' <a href="'. esc_url( get_permalink() ) . '">' . '&nbsp;&raquo;&nbsp;' . sprintf(__( 'Read more about: %s &nbsp;&raquo;', 'pietergoosen' ), get_the_title()) . '</a>'; 
$excerpt_more = apply_filters('excerpt_more', ' ' . $excerpt_end); 

//$pos = strrpos($wpse0001_excerpt, '</');
//if ($pos !== false)
// Inside last HTML tag
//$wpse0001_excerpt = substr_replace($wpse0001_excerpt, $excerpt_end, $pos, 0);
//else
// After the content
$wpse0001_excerpt .= $excerpt_end;

return $wpse0001_excerpt;

}
return apply_filters('wpse0001_custom_wp_trim_excerpt', $wpse0001_excerpt, $raw_excerpt);
}

endif; 

remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'wpse0001_custom_wp_trim_excerpt');
如果(!function_存在('wpse0001_custom_wp_trim_extract')):
函数wpse0001_自定义_wp_修剪_摘录($wpse0001_摘录){
全球$员额;
$raw_摘录=$wpse0001_摘录;
如果(''=$wpse0001_摘录){
$wpse0001_摘录=获取内容(“”);
$wpse0001_摘录=条带_短代码($wpse0001_摘录);
$wpse0001_摘录=应用_过滤器($wpse0001_摘录的内容);
$wpse0001_摘录=substr($wpse0001_摘录,0,strpos($wpse0001_摘录,

)+4); $wpse0001_摘录=str_替换(']]>',']]',$wpse0001_摘录); $extract_end=''; $extract\u more=应用过滤器('extract\u more',''.$extract\u end); //$pos=strrpos($wpse0001_节选,
$wpse0001_节选=“1

2

3

4

5

”; $WARNED_第段的编号=3; $tmp=爆炸(“

”,$wpse0001_节选); 对于($i=0;$i<$U通缉号(第段)++$i){ 如果(isset($tmp[$i])&&$tmp[$i]!=''){ $tmp_to_add[$i]=$tmp[$i]; } } $wpse0001_摘录=内爆(“

”,$tmp_to_add)。“

”; echo$wpse0001_摘录; //输出:1

2

3


如果有X个标签,你想在第X个标签之后剪切,对吗?不,我需要在第三个标签之后剪切。谢谢,今天晚些时候会尝试。谢谢。它成功了。不过稍微调整了一下。会发布吗
$wpse0001_excerpt = substr( $wpse0001_excerpt, 0, strpos( $wpse0001_excerpt, '</p>' ) + 4 );
$wpse0001_excerpt = "<p>1</p><p>2</p><p>3</p><p>4</p><p>5</p>";

$wanted_number_of_paragraph = 3;

$tmp = explode ('</p>', $wpse0001_excerpt);
for ($i = 0; $i < $wanted_number_of_paragraph; ++$i) {
   if (isset($tmp[$i]) && $tmp[$i] != '') {
       $tmp_to_add[$i] = $tmp[$i];
   }
}
$wpse0001_excerpt = implode('</p>', $tmp_to_add) . '</p>';

echo $wpse0001_excerpt;
// Output : <p>1</p><p>2</p><p>3</p>