make_clickable()
make_clickable( string $text ) 将纯文本URI转换为HTML链接。Convert…
make_clickable( string $text )
将纯文本URI转换为HTML链接。
Convert plaintext URI to HTML links.
目录锚点:#说明#参数#返回#源码#笔记
说明(Description)
转换URI、www和ftp以及电子邮件地址。通过固定链接内的链接完成。
参数(Parameters)
| 参数 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| $text | (string) | 必需 | 要转换uri的内容。 | 
返回(Return)
(string)具有转换的uri的内容。
源码(Source)
/**
 * Convert plaintext URI to HTML links.
 *
 * Converts URI, www and ftp, and email addresses. Finishes by fixing links
 * within links.
 *
 * @since 0.71
 *
 * @param string $text Content to convert URIs.
 * @return string Content with converted URIs.
 */
function make_clickable( $text ) {
	$r = '';
	$textarr = preg_split( '/(<><>]+>)/', $text, -1, PREG_SPLIT_DELIM_CAPTURE ); // split out HTML tags
	$nested_code_pre = 0; // Keep track of how many levels link is nested inside /* ----------------------------------
 * wordpress之魂 © http://wphun.com
 * ---------------------------------- */
 or 
	foreach ( $textarr as $piece ) {
		if ( preg_match( '|^]|i', $piece ) || preg_match( '|^]|i', $piece ) )
			$nested_code_pre++;
		elseif ( ( '' === strtolower( $piece ) || '
' === strtolower( $piece ) ) && $nested_code_pre )
			$nested_code_pre--;
		if ( $nested_code_pre || empty( $piece ) || ( $piece[0] === '<' &&="" !="" preg_match(="">< strlen(="" $piece="" )="" )="" {="" ...="" break="" it="" up="" foreach="" (="" _split_str_by_whitespace(="" $piece,="" 2100="" )="" as="" $chunk="" )="" {="" 2100:="" extra="" room="" for="" scheme="" and="" leading="" and="" trailing="" paretheses="" if="" (="" 2101="">< strlen(="" $chunk="" )="" )="" {="" $r="" .="$chunk;" too="" big,="" no="" whitespace:="" bail.="" }="" else="" {="" $r="" .="make_clickable(" $chunk="" );="" }="" }="" }="" else="" {="" $ret=" $piece " ;="" pad="" with="" whitespace="" to="" simplify="" the="" regexes="" $url_clickable='~
				([s(<.,;:!?])                                        # 1: Leading whitespace, or punctuation
				(                                                      # 2: URL
					[w]{1,20}+://                                # Scheme and hier-part prefix
					(?=S{1,2000}s)                               # Limit to URLs less than about 2000 characters long
					[wx80-xff#%~/@[]*(+=&$-]*+         # Non-punctuation URL character
					(?:                                            # Unroll the Loop: Only allow puctuation URL character if followed by a non-punctuation URL character
						[' .,;:!?)]="" #="" punctuation="" url="" character="" [wx80-xff#%~/@[]*(+="&$-]++" #="" non-punctuation="" url="" character="" )*="" )="" ()?)="" #="" 3:="" trailing="" closing="" parenthesis="" (for="" parethesis="" balancing="" post="" processing)="" ~xs';="" the="" regex="" is="" a="" non-anchored="" pattern="" and="" does="" not="" have="" a="" single="" fixed="" starting="" character.="" tell="" pcre="" to="" spend="" more="" time="" optimizing="" since,="" when="" used="" on="" a="" page="" load,="" it="" will="" probably="" be="" used="" several="" times.="" $ret="preg_replace_callback(" $url_clickable,="" '_make_url_clickable_cb',="" $ret="" );="" $ret="preg_replace_callback(" '#([s="">])((www|ftp).[wx80-xff#$%&~/.-;:=,?@[]+]+)#is', '_make_web_ftp_clickable_cb', $ret );
			$ret = preg_replace_callback( '#([s>])([.0-9a-z_+-]+)@(([0-9a-z-]+.)+[0-9a-z]{2,})#i', '_make_email_clickable_cb', $ret );
			$ret = substr( $ret, 1, -1 ); // Remove our whitespace padding.
			$r .= $ret;
		}
	}
	// Cleanup of accidental links within links
	return preg_replace( '#(]+?>|>))]+?>([^>]+?)#i', "$1$3", $r );
}| 更新版本 | 源码位置 | 使用 | 被使用 | 
|---|---|---|---|
| 0.71 | wp-includes/formatting.php:2929 | 1 function | 2 | 
笔记(Notes)
这个例子展示了如何使用make_clickable和一个文本字符串来将其中的任何url转换为链接。
显示可点击链接中的所有URL
类别:WordPress 函数手册、 
		本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!