Hi,
I have the same problem and I found something strange. In fact I’m trying to save a standard snippet in order to allow HTML in Excerpts. The snippet is as follows :
————————————————————————————–
/******************************************************************************
* @author: Boutros AbiChedid
* @date: June 20, 2011
* @websites: https://bacsoftwareconsulting.com/ ; https://blueoliveonline.com/
* @description: Preserves HTML formating to the automatically generated Excerpt.
* Also Code modifies the default excerpt_length and excerpt_more filters.
*******************************************************************************/
function custom_wp_trim_excerpt($text) {
$raw_excerpt = $text;
if ( ” == $text ) {
$text = get_the_content(”);
$text = strip_shortcodes( $text );
$text = apply_filters(‘the_content’, $text);
$text = str_replace(‘]]>’, ‘]]>’, $text);
/***Add the allowed HTML tags separated by a comma.***/
$allowed_tags = ‘<p>,,,‘;
$text = strip_tags($text, $allowed_tags);
/***Change the excerpt word count.***/
$excerpt_word_count = 60;
$excerpt_length = apply_filters(‘excerpt_length’, $excerpt_word_count);
/*** Change the excerpt ending.***/
$excerpt_end = ‘ ID) . ‘”>’ . ‘» Continue Reading.’ . ‘‘;
$excerpt_more = apply_filters(‘excerpt_more’, ‘ ‘ . $excerpt_end);
/**** THIS LINE DOES SOMETHING STRANGE ****/
$words = preg_split(“/[\n\r\t ]+/”, $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
if ( count($words) > $excerpt_length ) {
array_pop($words);
$text = implode(‘ ‘, $words);
$text = $text . $excerpt_more;
} else {
$text = implode(‘ ‘, $words);
}
}
return apply_filters(‘wp_trim_excerpt’, $text, $raw_excerpt);
}
remove_filter(‘get_the_excerpt’, ‘wp_trim_excerpt’);
add_filter(‘get_the_excerpt’, ‘custom_wp_trim_excerpt’);
——————————————————————————–
When I try to save this snippet it brings me to my 404 page.
Now have a look to this code line :
$words = preg_split(“/[\n\r\t ]+/”, $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
As soon as I change the code line to
$words = pregsplit(“/[\n\r\t ]+/”, $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
two things will happen. First is that the snippet does not work anymore (which seems to be normal) but it is aved without any problem.
I didn’t figure out where this behavior might come from but maybe it will help you to find a solution ??
Cheers
Claus