0

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).

4

1 に答える 1

1

最後のパターンは'\{PAGEBREAK\}'. リテラル\{PAGEBREAK\}にバックスラッシュを含めて一致させる場合、パターンは次のようになります。

     '/\\\\{PAGEBREAK\\\\}/',

{PAGEBREAK}パターンに一致させる場合は、次のようにする必要があります。

     '/{PAGEBREAK}/',
于 2013-10-04T20:11:06.787 に答える