Php Preg_replace在数字前插入字符串

Php Preg_replace在数字前插入字符串,php,wordpress,preg-replace,Php,Wordpress,Preg Replace,如何在数字前插入字符串 我有以下Wordpress功能: get_the_term_list( $post->ID, 'level', '', ', ', '' ) 此函数输出如下数字: <a href="#">1</a> 或者,如果数据库中有多个条目: <a href="#">1</a>, <a href="#">2</a> 如何在数字之前插入级别?所以它看起来像这样: <a href="#">le

如何在数字前插入字符串

我有以下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>
或:

worpress手册会告诉您具体的操作方法


我不使用wordpress,但通过目不转睛地看wordpress找到了它。获取术语列表

您只需匹配数字即可。在正则表达式中\d+可用于小数

 $text = preg_replace('#>(\d+)<#', '>level $1<', $text);

您可以使用>和以下是您的操作方法:

get_the_term_list( $post->ID, 'level', 'Level: ', ', ', '' );
参考:

编辑:

编辑wp includes/category-template.php中的“获取术语”列表以


测试这些。您可能需要调整偏移量、pos编号。这将使你达到99%的目标

$numPos=strpos$string,1

$firstStr=substr$string,0,$pos; $secondStr=substr$string,$pos


$newStr=$firstStr。水平$二级STR

您必须使用preg_替换吗?看起来你已经选择了答案。我已经阅读了法典和许多教程。然而,在我的具体案例中,似乎没有一种方法可以做到这一点,我将不在这里讨论,因此我询问如何使用preg_replace。这不符合我的要求。它将Level放在@user1444027之前,我添加了一个经过编辑的函数,该函数将执行您需要的操作
get_the_term_list( $post->ID, 'level', 'Level: ', ', ', '' );
/**
 * 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: ');