2014-04-10 24 views
0

好吧,說實話,我只是對我正在談論的模糊想法。 所以我有這個標記規則使用正則表達式或php函數替換標記之間的所有字符實例

$config['markup'][] = array("/\[tag\](.+?)\[\/tag\]/m", "<span style=\"font-weight: bold\">$1</span>"); 

這格式化文本[標籤] [/標籤]

我怎麼能頂替說,字符x用字符Y,但只有在[標籤] [/標籤]?

我想這可以用PHP函數來完成,因爲有這個示例代碼

// Highlight PHP code wrapped in <code> tags (PHP 5.3+) 
// $config['markup'][] = array(
// '/^&lt;code&gt;(.+)&lt;\/code&gt;/ms', 
// function($matches) { 
//  return highlight_string(html_entity_decode($matches[1]), true); 
// } 
//); 

但我不能把它變成我想要的東西。我不是程序員。

+0

你可以捕捉你的角色到一個組中,然後替換組1:'(?<= \ [tag \])。*?(d)。*?(?= \ [\ /標籤\])'。 – tenub

+0

請原諒我的愚蠢,這是捕捉部分?那麼要替換的角色在哪裏? – user3519818

回答

0

你在想太複雜。所有你需要做的是:

$replaced_text=preg_replace("/\\[tag\\](.+?)\\[\\/tag\\]/m", "<span style=\"font-weight: bold\">$1</span>", $original_text); 
+0

那麼我在哪裏放置我想要替換的角色? ([x] +?) - 那樣? – user3519818

相關問題