phpBB

Development Wiki

Tutorial.Parsing text

From phpBB Development Wiki

Revision as of 15:34, 12 January 2007 by Lew21 (Talk | contribs)

Parsing text with BBCodes, smilies etc.

Inserting text to the DB

// $text will be modified by generate_text_for_storage
// always use utf8_normalize_nfc when you retrieve a multibyte string request variable
$text utf8_normalize_nfc(request_var('text'''true)); 

$uid $bitfield $flags ''// will be modified by generate_text_for_storage

$allow_bbcode $allow_urls $allow_smilies true// false is default for generate_text_for_storage function

generate_text_for_storage($text$uid$bitfield$flags$allow_bbcode$allow_urls$allow_smilies);

$sql_ary = array(
    
'text'              => $text,
    
'bbcode_uid'        => $uid,
    
'bbcode_bitfield'   => $bitfield,
    
'bbcode_flags'      => $flags,
);

$sql 'INSERT INTO ' YOUR_TABLE ' ' $db->sql_build_array('INSERT'$sql_ary);
$db->sql_query($sql);

text should be a TEXT column, bbcode_uid and bbcode_bitfield should be VARCHARs and bbcode_flags should be an INT column.

Displaying text downloaded from DB

$sql 'SELECT text, bbcode_uid, bbcode_bitfield, bbcode_flags
    FROM ' 
YOUR_TABLE;
$result $db->sql_query_limit($sql1);
$row $db->sql_fetchrow($result);
$db->sql_freeresult($result);

$text generate_text_for_display($row['text'], $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_flags']);

echo 
$text;

Generating text for editing

$sql 'SELECT text, bbcode_uid
    FROM ' 
YOUR_TABLE;
$result $db->sql_query_limit($sql1);
$row $db->sql_fetchrow($result);
$db->sql_freeresult($result);

decode_message($row['text'], $row['bbcode_uid']);

echo 
$row;