2012-03-04 26 views
2

在php正則表達式中得到了一個問題。 例如,如果我們使用php preg_match var length count?

<?php 
$str = '[code]anything[/code]'; 
preg_replace('#\[code\](.*?)\[/code\]#is', 'Code:<pre>$1</pre>', $str) 
?> 

我怎麼可以做一些這樣的事算內容

<?php 
$str = '[code]anything[/code]'; 
preg_replace('#\[code\](.*?)\[/code\]#is', 'Code:'.strlen($1).'<pre>$1</pre>', $str) 
?> 

,這是我的問題。 希望我會找到答案謝謝。

+2

你可能想看看進入'preg_replace_callback()'函數。 – ridgerunner 2012-03-04 02:09:11

回答

1

如何:

<?php 
    $str = '[code]anything[/code]'; 
    $code = preg_replace('#\[code\](.*?)\[/code\]#is', '$1', $str); 
    $output = 'Code:'.strlen($code).'<pre>'.$code.'</pre>'; 
?> 
+0

感謝它的工作 順便說一句,有一種方法可以在1行 使用數組解析比項目更多的一種情況。 – ThElitEyeS 2012-03-04 02:00:40

+0

你想做什麼?在正則表達式中捕獲1美元和2美元? – imm 2012-03-04 02:04:35

+0

是的,我想顯示它的字符數 – ThElitEyeS 2012-03-04 02:31:51