PHP の更新後、do 5.4.19 は以前には存在しなかった新しい警告に直面しました。それは言う: Warning: preg_replace(): Delimiter must not be alphanumeric or backslash in ... on line 645
.
方法があります:
private function BBtoHTML($input_string)
{
$search = array(
'/\[b\](.*?)\[\/b\]/is',
'/\[i\](.*?)\[\/i\]/is',
'/\[u\](.*?)\[\/u\]/is',
'/\[s\](.*?)\[\/s\]/is',
'/\[quote\](.*?)\[\/quote\]/is',
'/\[code\](.*?)\[\/code\]/is',
'/\[url\=(.*?)\](.*?)\[\/url\]/is',
'/\[(left|center|right)\](.*?)\[\/(left|center|right)\]/is',
'/\[font\=(.*?)\](.*?)\[\/font\]/is',
'/\[size\=(.*?)\](.*?)\[\/size\]/is',
'/\[color\=(.*?)\](.*?)\[\/color\]/is',
'\{PAGEBREAK\}',
);
$replace = array(
'/<strong>$1</strong>/',
'/<em>$1</em>/',
'/<span style="text-decoration: underline;">$1</span>/',
'/<del>$1</del>/',
'/<blockquote>$1</blockquote>/',
'/<code>$1</code>/',
'/<a href="$1" target="_blank">$2</a>/',
'/<div style="text-align: $1;">$2</div>/',
'/<span style="font-family: $1;">$2</span>/',
'/<span style="font-size: $1;">$2</span>/',
'/<span style="color: $1;">$2</span>/',
'/<!--nextpage-->/'
);
return preg_replace($search, $replace, $input_string);
}
645 で理解できるように、return preg_replace($search, $replace, $input_string)
.