phpBB

Development Wiki

Difference between revisions of "Tutorial.Parsing text"

From phpBB Development Wiki

(Inserting text to the DB)
Line 4: Line 4:
 
<php>
 
<php>
 
$text = utf8_normalize_nfc(request_var('text', '', true));
 
$text = utf8_normalize_nfc(request_var('text', '', true));
$uid = $bitfield = $flags = ''; // will be modified by generate_text_for_storage
+
$uid = $bitfield = $options = ''; // will be modified by generate_text_for_storage
 
$allow_bbcode = $allow_urls = $allow_smilies = true;
 
$allow_bbcode = $allow_urls = $allow_smilies = true;
generate_text_for_storage($text, $uid, $bitfield, $flags, $allow_bbcode, $allow_urls, $allow_smilies);
+
generate_text_for_storage($text, $uid, $bitfield, $options, $allow_bbcode, $allow_urls, $allow_smilies);
  
 
$sql_ary = array(
 
$sql_ary = array(
Line 12: Line 12:
 
     'bbcode_uid'        => $uid,
 
     'bbcode_uid'        => $uid,
 
     'bbcode_bitfield'  => $bitfield,
 
     'bbcode_bitfield'  => $bitfield,
     'bbcode_flags'     => $flags,
+
     'bbcode_options'   => $options,
 
);
 
);
  
Line 19: Line 19:
 
</php>
 
</php>
  
text should be a TEXT column, bbcode_uid and bbcode_bitfield should be VARCHARs and bbcode_flags should be an INT column.
+
text should be a TEXT column, bbcode_uid and bbcode_bitfield should be VARCHARs and bbcode_options should be an INT column.
  
 
=== Displaying text downloaded from DB ===
 
=== Displaying text downloaded from DB ===

Revision as of 21:38, 5 February 2007

Parsing text with BBCodes, smilies etc.

Inserting text to the DB

$text utf8_normalize_nfc(request_var('text'''true));
$uid $bitfield $options ''// will be modified by generate_text_for_storage
$allow_bbcode $allow_urls $allow_smilies true;
generate_text_for_storage($text$uid$bitfield$options$allow_bbcode$allow_urls$allow_smilies);

$sql_ary = array(
    
'text'              => $text,
    
'bbcode_uid'        => $uid,
    
'bbcode_bitfield'   => $bitfield,
    
'bbcode_options'    => $options,
);

$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_options should be an INT column.

Displaying text downloaded from DB

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

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

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['text'];