我正在創建一個論壇,目前正在研究bbCode部分。 BBCode的所有工作,但我也實施了一個表情符號系統。語法如下:[E]:)[/ E]substr無法正常工作?
我做了這個字符串用於測試目的:
[b]hello world[/b] [i]i am having fun[/i] [e]:)[/e] how are you doing today?! <3[color=blue]:D[/color]
它返回了是不是我想要的東西。下面是它返回:
:)[/e] how are you doing today?! <3[color=bl
這是我的代碼:
function bbCode($str) {
if (strpos($str, '[e]')!==false && strpos($str, '[/e]')!==false) {
$f = strpos($str, '[e]') + 3;
$s = strpos($str, '[/e]');
$emote = substr($str, $f, $s);
}
return $emote;
}
注意$ F和$ s的返回正確的位置,45和47,但SUBSTR未切割我的字符串正確。爲什麼會這樣,我該如何解決它?
所選字符串的長度看上去非常相關,以發現了結束索引:[RTFM](http://php.net/手冊/ en/function.substr.php)爲第三個參數:D – 2013-02-08 01:37:57
PHP有一個[BBCode擴展](http://php.net/manual/en/book.bbcode.php)。你需要用一個大括號'{'來打開這個函數。 –