2012-11-08 2 views
-3

숫자 앞에 문자열을 삽입하는 방법은 무엇입니까?숫자 앞에 문자열을 삽입하기위한 Preg_replace

나는 다음과 같은 워드 프레스 기능이 있습니다

<a href="#">1</a>, <a href="#">2</a> 
: 데이터베이스에 하나 개 이상의 항목이있는 경우,

<a href="#">1</a> 

나 : 그래서 같은

get_the_term_list($post->ID, 'level', '', ', ', '') 

이 기능 출력 번호를

숫자 앞에 "레벨"을 삽입하려면 어떻게해야합니까? 그래서 그것은 다음과 같습니다

<a href="#">level 1</a> 

또는를 :

<a href="#">level 1</a>, <a href="#">level 2</a> 
+0

'preg_replace'를 사용해야합니까? 이미 답을 선택한 것처럼 보입니다. – GolezTrol

답변

1

당신은 단순히 수와 일치 "를 worpress의 get_the_term_list"을 goggling에 의해 그것을 발견하지 않습니다. 정규 표현식에서 \d+은 십진수로 사용할 수 있습니다.

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

그리고 당신은 >< 앵커를 사용할 수 있습니다. 여기서 $1은 발견 된 십진수를 다시 삽입합니다.

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

참조 : http://codex.wordpress.org/Function_Reference/get_the_term_list

편집 : wp-includes/category-template.php에서

편집 get_the_term_list 사용

/** 
* 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; 
} 

에 : 여기

+0

완벽한, 감사합니다! – user1444027

4

Function Reference/get the term list

worpress 설명서 정확히 방법을 알려줍니다.

내가 워드 프레스를 사용하지만

+0

나는 코덱스 및 수많은 자습서를 읽었습니다. 그러나, 거기에 내 구체적인 경우에는 이렇게하는 방법이되지 않습니다 (나는 여기에 들어가지 않을 것입니다) 그러므로 대신 preg_replace를 사용하는 방법을 묻습니다. – user1444027

0

는 어떻게 할 것입니다

+0

이것은 내가하고 싶은 일을하지 않습니다." user1444027

+0

@ user1444027 필요한 것을 할 수있는 편집 된 기능을 추가했습니다. – MLM

0

시험하십시오. 오프셋, pos 번호를 조정해야 할 수도 있습니다. 이것은 당신에게 99 %를 줄 것입니다.

$ numPos = strpos ($ string, "1");

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

$ newStr = $ firstStr "수준". $ secondStr;

관련 문제