prep_atom_text_construct

函数
prep_atom_text_construct ( $data )
参数
  • (string) $data Input string.
    Required:
返回值
  • (array) array(type, value)
定义位置
相关方法
_deprecated_constructorget_attachment_icon_srcatom_site_iconget_the_contentwp_update_term_count
引入
2.5.0
弃用
-

prep_atom_text_construct函数是WordPress的一个函数,用于准备显示Atom文本结构。它用于格式化Atom feed中的文本内容,通常用于过滤器挂钩。

确定一串数据的类型,并对数据进行格式化。

根据RFC 4287第3.1节,告诉该类型是文本、HTML还是XHTML。

在WordPress的情况下,文本被定义为不包含标记。
XHTML被定义为””形成良好的””,而HTML是标签汤(即其余的)。

根据第3.1.1.3节,容器div标签被添加到XHTML值中。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
function prep_atom_text_construct( $data ) {
if ( strpos( $data, '<' ) === false && strpos( $data, '&' ) === false ) {
return array( 'text', $data );
}
if ( ! function_exists( 'xml_parser_create' ) ) {
trigger_error( __( "PHP's XML extension is not available. Please contact your hosting provider to enable PHP's XML extension." ) );
return array( 'html', "<![CDATA[$data]]>" );
}
$parser = xml_parser_create();
xml_parse( $parser, '<div>' . $data . '</div>', true );
$code = xml_get_error_code( $parser );
xml_parser_free( $parser );
unset( $parser );
if ( ! $code ) {
if ( strpos( $data, '<' ) === false ) {
return array( 'text', $data );
} else {
$data = "<div xmlns='http://www.w3.org/1999/xhtml'>$data</div>";
return array( 'xhtml', $data );
}
}
if ( strpos( $data, ']]>' ) === false ) {
return array( 'html', "<![CDATA[$data]]>" );
} else {
return array( 'html', htmlspecialchars( $data ) );
}
}
function prep_atom_text_construct( $data ) { if ( strpos( $data, '<' ) === false && strpos( $data, '&' ) === false ) { return array( 'text', $data ); } if ( ! function_exists( 'xml_parser_create' ) ) { trigger_error( __( "PHP's XML extension is not available. Please contact your hosting provider to enable PHP's XML extension." ) ); return array( 'html', "<![CDATA[$data]]>" ); } $parser = xml_parser_create(); xml_parse( $parser, '<div>' . $data . '</div>', true ); $code = xml_get_error_code( $parser ); xml_parser_free( $parser ); unset( $parser ); if ( ! $code ) { if ( strpos( $data, '<' ) === false ) { return array( 'text', $data ); } else { $data = "<div xmlns='http://www.w3.org/1999/xhtml'>$data</div>"; return array( 'xhtml', $data ); } } if ( strpos( $data, ']]>' ) === false ) { return array( 'html', "<![CDATA[$data]]>" ); } else { return array( 'html', htmlspecialchars( $data ) ); } }
function prep_atom_text_construct( $data ) {
	if ( strpos( $data, '<' ) === false && strpos( $data, '&' ) === false ) {
		return array( 'text', $data );
	}

	if ( ! function_exists( 'xml_parser_create' ) ) {
		trigger_error( __( "PHP's XML extension is not available. Please contact your hosting provider to enable PHP's XML extension." ) );

		return array( 'html', "<![CDATA[$data]]>" );
	}

	$parser = xml_parser_create();
	xml_parse( $parser, '<div>' . $data . '</div>', true );
	$code = xml_get_error_code( $parser );
	xml_parser_free( $parser );
	unset( $parser );

	if ( ! $code ) {
		if ( strpos( $data, '<' ) === false ) {
			return array( 'text', $data );
		} else {
			$data = "<div xmlns='http://www.w3.org/1999/xhtml'>$data</div>";
			return array( 'xhtml', $data );
		}
	}

	if ( strpos( $data, ']]>' ) === false ) {
		return array( 'html', "<![CDATA[$data]]>" );
	} else {
		return array( 'html', htmlspecialchars( $data ) );
	}
}

常见问题

FAQs
查看更多 >