2011-04-05 75 views
0
function replace_text_wps($text){ 
     $replace = array(
      // 'WORD TO REPLACE' => 'REPLACE WORD WITH THIS' 
      'wordpress' => '<a href="#">wordpress</a>', 
      'excerpt' => '<a href="#">excerpt</a>', 
      'function' => '<a href="#">function</a>' 
     ); 
     $text = str_replace(array_keys($replace), 
    $replace, $text); 
     return $text; } 

    add_filter('the_content','replace_text_wps'); 
    add_filter('the_excerpt','replace_text_wps'); 

這段代碼用來替換一些單詞,爲什麼他使用add_filter()函數兩次,他錯了嗎?爲什麼add_filter()被應用兩次?

另外,行$text = str_replace(array_keys($replace), $replace, $text)是什麼意思?

回答

1
$text = str_replace(array_keys($replace), $replace, $text); 

替換爲$都給鍵在$文本字符串

這個代碼只是過濾兩個不同的字符串替換。

1
$text = str_replace(array_keys($replace), $replace, $text); 

此行搜索從$replace所有數組鍵和與它們各自的值替換它們。

它基本上foreach($replace as $s => $r) $text = str_replace($s, $r, $text);

1
add_filter('the_content','replace_text_wps'); 
add_filter('the_excerpt','replace_text_wps'); 

他將過濾器應用於帖子的內容以及摘錄較短/更好的方式(通常是從後主體部分相分離。另外填寫)。一般而言,您只能在博客列表中使用其中的一種,因此他將其應用於兩者都涵蓋了所有基礎。

$text = str_replace(array_keys($replace), $replace, $text); 

// 'WORD TO REPLACE' => 'REPLACE WORD WITH THIS' 

然後,他只是在做一個字符串替換:http://php.net/manual/en/function.str-replace.php

基本上,如果你的帖子內容有任何下列詞語wordpress, excerpt, excerpt它將取代與被包裹arounf字的鏈接詞。

相關問題