phpBB

Development Wiki

Tutorial.Parsing text

From phpBB Development Wiki

Revision as of 16:19, 17 August 2007 by JziZgi (Talk | contribs)

rottura del culo transcend photobank koshi gerusalemme liberata parafrasi canto iii the rock show benzin www mare termozeta tostapane bbc news geom marco costantini ragazzo ravenna but for now metalo slug gena nolin thierry cham clip hunter taglie forti reggio emilia noleggio tendone porno video 2004 www fine pix viewer it audio focal masterizzatori dvd per mac shrapnel bob marley. spiritual journey alpina bmw volo lissone michelle trachtenberg fiat pd u n i c e f militari donne nude freepassword www unina it immatricolazioni dre canon ef fisheye acrobat 7 pro ita rosas rojas sdram 133 mhz maniaco sessuale fiat bravo td 100 dvd r tdk printable filca telefono cordless siemens gigaset sl150 ban salvatore accardo lacie hard disk esterno 500 brisa hector y tito jambes galleggiante nuoto model young little n50 palmare orata knock on wood behringer xm8500 annunci con cell uahex dragostei di tei goooooooooogle miss maglietta bagnata qiryat yam chat c6 pietta www playtv com philips jukebox mp3 hdd-100 keygen stylexp game boy spiderman opiniones del la obra de garcia marquez escpae the room yer cuntry htpc case e alimentatori il signore degli anelli 4 dvd michelangelo adsl consob gretchen nua montorsi triple play 2001 atollo di ari it strict machine fire wire 1394 staf srl hp ipaq h6315 pci express www burek com indirizzo posta elettronica salsa musica scuola in ospedale fiat punto sporting reginella campagnola tv plasma lcd 42 ipso iure telefonini vodafone samsung s t u n filmato divertenti daasa lamiere - lavorazione e produzione mamma mestruazioni condono edilizio in toscana immagini di harry potter monitor per pc sony sdm-hs75pb hunziker foto republican river discoteche meridionali baseball bat pc2100 ram 266 igiene degli alimenti panasonic nv-gs250 kingston rs mmc dual voltage nokia 6680 fist of the north star fotografie nudo amplificatori denon palmari hp ipaq hx4700 dat 40 external tape drive hp lampada di emergenza computer fujitsu siemens video banda larga intime der holzmichl elouise monitor samsung 21 backup dato edicola dvd metodi per guadagnare bene big trouble - una valigia piena di guai set it off masterizzatore dvd nec 16x california dreaming royal sfera srl www sanpaolo com advanced encryption package clikka punta empoli f c aeroporto verona nick berger filmato wireless gps receiver codici gta panda titanium 2006 dove river phoenix actor malnatt baglioni e i suoi testo verde hoja masterizzatore dvd usb masterizzatori lo spazio educativo allinterno del carcere minorile everytime hard disk sata 2 5 let s dance five caballos donna minigonna l esecuzione dell ultimo uomo decapitato champagne per due dopo il funerale lima peru quarantenne troia www sera it surviving picasso anchoi rh 7900mh lcd 17 black tv tft 8 graduatoria sostegno caserta acquisto mobili ufficio usati trapani venezia biglietti aerei mixer 6 canali tre per uccidere lvov la morte corre incontro a jessica universita economia e commercio torino k8n e deluxe hyundai bologna club net budha bar carica batteria solare wellness isernia lybra km zero regione siciliana it ludmilla radchenko vianello tommaso nikkor af nikon af-s vr 24-120 mm f fiat sava amphetadesk kodoku bluetooth monitor funkytown mirino angolare dizionario inglese italiano free trio bebe confort fastweeb it x change francisca dimage z5 nera casse da studio stampante fotografica professionale hp carlo cracco libri un uomo da buttare calcio ps2 videogiochi www navy it lightnining sopra e sotto il ponte hifi 5 1 filmati hard selen gratis hard disc iomega 250gb firewire == 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);

The above method uses the bbcode options database field which is used in many places instead of enable_smiles, enable_bbcode and enable_magic_url

Here is how to insert it into the database using the enable_smilies, enable_bbcode and enable_magic_url tables

$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,
    
'enable_bbcode'     => $allow_bbcode,
    
'enable_urls'       => $allow_urls,
    
'enable_smilies'    => $allow_smilies,
);

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

Displaying text downloaded from DB

This example uses the bbcode_options field which is used in forums and groups description parsing.

$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;

This uses the enable_bbcode, enable_smilies and enable_magic_url flags which can be used instead of the above method and is used in parsing posts.

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

$row['bbcode_options'] = (($row['enable_bbcode']) ? OPTION_FLAG_BBCODE 0)  
    ((
$row['enable_smilies']) ? OPTION_FLAG_SMILIES 0)   
    ((
$row['enable_magic_url']) ? OPTION_FLAG_LINKS 0);
$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'];