如何在数字前插入字符串?
我有以下Wordpress功能:
get_the_term_list( $post->ID, 'level', '', ', ', '' )
此功能输出如下数字:
<a href="#">1</a>
或者,如果数据库中有多个条目:
<a href="#">1</a>, <a href="#">2</a>
如何在号码前插入“等级”?所以它看起来像这样:
<a href="#">level 1</a>
或者:
<a href="#">level 1</a>, <a href="#">level 2</a>
答案 0 :(得分:4)
Function Reference/get the term list
wordpress手册会告诉你具体的方法。
我不使用wordpress但是通过傻笑“wordpress get_the_term_list”找到它
答案 1 :(得分:1)
您只需匹配该号码即可。正则表达式\d+
可用于小数。
$text = preg_replace('#>(\d+)<#', '>level $1<', $text);
您可以使用>
和<
个锚点。这里$1
重新插入找到的小数。
答案 2 :(得分:0)
您将如何做到这一点:
get_the_term_list( $post->ID, 'level', 'Level: ', ', ', '' );
参考:http://codex.wordpress.org/Function_Reference/get_the_term_list
修改强>
将get_the_term_list
中的wp-includes/category-template.php
修改为
/**
* Retrieve a post's terms as a list with specified format.
*
* @since 2.5.0
*
* @param int $id Post ID.
* @param string $taxonomy Taxonomy name.
* @param string $before Optional. Before list.
* @param string $sep Optional. Separate items using this.
* @param string $after Optional. After list.
* @param string $beforeEach Optional. After each term.
* @return string
*/
function get_the_term_list( $id, $taxonomy, $before = '', $sep = '', $after = '', $beforeEach = '' ) {
$terms = get_the_terms( $id, $taxonomy );
if ( is_wp_error( $terms ) )
return $terms;
if ( empty( $terms ) )
return false;
foreach ( $terms as $term ) {
$link = get_term_link( $term, $taxonomy );
if ( is_wp_error( $link ) )
return $link;
$term_links[] = '<a href="' . esc_url( $link ) . '" rel="tag">'. $beforeEach . $term->name . '</a>';
}
$term_links = apply_filters( "term_links-$taxonomy", $term_links );
return $before . join( $sep, $term_links ) . $after;
}
用法:
get_the_term_list( $post->ID, 'level', '', ', ', '', 'Level: ');
答案 3 :(得分:0)
测试这些。您可能需要调整偏移量,pos数字。这将使你获得99%。
$ numPos = strpos($ string,“1”);
$ firstStr = substr($ string,0,$ pos); $ secondStr = substr($ string,$ pos);
$ newStr = $ firstStr。 “水平”。 $ secondStr;