
z tego rozumiem, ze funkcja preg_replace() jest przestarzala i trzeba ją zastapic funkcją preg_replace_callback. po zastąpieniu jednak występują kolejne błędy. o to fragment kodu powodujący błędy (wrzuciłbym cały plik, ale za długi post...)
Cytat
// Preappend http:// to url address if not present
$s = preg_replace('/\[url\=([^(http)].+?)\](.*?)\[\/url\]/i', '$2', $s);
$s = preg_replace('/\[url\]([^(http)].+?)\[\/url\]/i', '$1', $s);
// Add line breaks
$s = nl2br($s);
// Remove the trash made by previous
$s = preg_replace(self::$lineBreaks_search, self::$lineBreaks_replace, $s);
// Parse bbcode
$s = preg_replace(self::$simple_search, self::$simple_replace, $s);
// Parse [list] tags
$s = preg_replace('/\[list\](.*?)\[\/list\]/sie', '"<ul>\n".self::process_list_items("$1")."\n</ul>"', $s);
$s = preg_replace('/\[list\=(disc|circle|square|decimal|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-alpha|lower-latin|upper-alpha|upper-latin|hebrew|armenian|georgian|cjk-ideographic|hiragana|katakana|hiragana-iroha|katakana-iroha|none)\](.*?)\[\/list\]/sie',
'"<ol style=\"list-style-type: $1;\">\n".self::process_list_items("$2")."\n</ol>"', $s);
$s = preg_replace('/\[url\=([^(http)].+?)\](.*?)\[\/url\]/i', '$2', $s);
$s = preg_replace('/\[url\]([^(http)].+?)\[\/url\]/i', '$1', $s);
// Add line breaks
$s = nl2br($s);
// Remove the trash made by previous
$s = preg_replace(self::$lineBreaks_search, self::$lineBreaks_replace, $s);
// Parse bbcode
$s = preg_replace(self::$simple_search, self::$simple_replace, $s);
// Parse [list] tags
$s = preg_replace('/\[list\](.*?)\[\/list\]/sie', '"<ul>\n".self::process_list_items("$1")."\n</ul>"', $s);
$s = preg_replace('/\[list\=(disc|circle|square|decimal|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-alpha|lower-latin|upper-alpha|upper-latin|hebrew|armenian|georgian|cjk-ideographic|hiragana|katakana|hiragana-iroha|katakana-iroha|none)\](.*?)\[\/list\]/sie',
'"<ol style=\"list-style-type: $1;\">\n".self::process_list_items("$2")."\n</ol>"', $s);
proszę o pomoc a najlepiej o przerobienie tej funkcji, by dzialala bez problemów. dodam tylko, że pod starszą wersją php wszystko działa ok, czyli ta najnowsza musiała to spowodować.
później popatrzę za innym systemem parsowania jednak na razie niech zostanie ten bbcode. muszę sobie wszystko przypomnieć
