Php Preg_replace在数字前插入字符串
如何在数字前插入字符串 我有以下Wordpress功能: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
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: ');