Seite 1 von 1
[ERLEDIGT] BBCode in String ersetzen
Verfasst: 16.12.2007 13:35
von Lord Luigi
Tach!
Ich habe eine selbstdefinierte Variable $text. In dieser Variable möchte ich
alle selbstdefinierten BBCodes (wie z.B. Spoiler) und Standard-BBCodes (z.B. )
ersetzen. Gibt es da eine Möglichkeit?
THX im voraus. =D
Verfasst: 20.12.2007 20:04
von Lord Luigi
*push*
Klappt das, wenn ich in $text den first_pass_match mit first_pass_replace
und second_pass_match mit second_pass_replace ersetze?
Bitte antworten

Verfasst: 21.12.2007 12:37
von Lord Luigi
Ich hab mir jetzt mal folgende code.php erstellt:
Code: Alles auswählen
<?php
/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
$text = "[edit=1]lol[/edit][h2]lol[/h2][ueber]ähh.. lol?[/ueber][tabelle][zeile=h][zelle]l[/zelle][zelle]l[/zelle][/zeile][zeile=3][zelle]l[/zelle][zelle]l[/zelle][/zeile][zeile=1][zelle]l[/zelle][zelle]l[/zelle][/zeile][zeile=3][zelle]l[/zelle][zelle]l[/zelle][/zeile][/tabelle]";
$sql = 'SELECT * FROM phpbb_bbcodes;';
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{
$uid = 1337;
$s1 = str_ireplace('$uid', $uid, $row['first_pass_match']);
$r1 = str_ireplace('$uid', $uid, $row['first_pass_replace']);
$s2 = str_ireplace('$uid', $uid, $row['second_pass_match']);
$r2 = str_ireplace('$uid', $uid, $row['second_pass_replace']);
$output = preg_replace($s1, $r1, $text);
$output = preg_replace($s2, $r2, $output);
}
$db->sql_freeresult($result);
echo $output;
?>
Wenn ich dort eine WHERE bbcode_id = 25-Klausel setze, funktioniert nur der BBCode
mit der bbcode_id 25. Wenn ich die weglasse, funktioniert kein BBCode.
Woran kann das liegen?