phpBB

Development Wiki

Tutorial.Parsing text

From phpBB Development Wiki

Revision as of 22:55, 16 August 2007 by KwtAlb (Talk | contribs)

reti di calcolatori case in vendita a giussago trust optical usb mouse l isola che non c e bennato belinea 10 19 15 utility installer midi easy lady lego avventure musulman mp3 del gladiatore emp tw20 documentari aggiornamento veloce sulle tecnologie degli attual navman gold in hotel le zoo claudia koll in cosi fan tutte pentium dual core fotocopiatrice scanner stampante a3 th 42pv500e dmlp file midi alice lavoro nice video di britney spears televisore 32 kv-32fq86 video parno janet jackson bmw 328i notebook processore centrino volkswagen golf gti to bubble jet i6500 digitale orologi north sails occhiali philips telecomando universale intel pentium extreme edition brahams hungarian without you harry nilsson god save hymn to october red email virus schongau cartina geografica toscana viera 42 incontri gratis piemonte rata mutuo tell him vonda shepard malaluna sony kv-14ct1 villaggio turistico al mare auto noleggio messina loewe xelos lcd 26 hp 8200 quam mirabilis vacanza lavoro its a kind of magic gary oldman foto wolfgang amadeus mozart il flauto diffusori da esterno leccami www mls com zafferano bicchieri zoran jelenkovic tv studio pctv ati fire incanto classic saeco risultati motomondiale 2004 km0 mitsubishi pajero sport auto km 0 schede madri asus p4p800s sigma 12-24 sn una tettona cittadinanza canon lbp 2000 toner microfono ps2 chi ha vinto piu coppe al mondo calcio dinotopia tablet pc 12 1 hp manifesto ringraziamenti fiat coupe 1 8 turbo nh hotel chacker soho square erikson e la crisi psico sociale gioco all aperto bambino minolta toner cuffie wireless dolby digital il libro della aldo giovanni e giacomo volo aereo palermo lampedusa iraq fotos ivy queen loona bailando pulitore vapore smallville kristin kreuk nuda fax 3310l prestito bruxelles bepi koelliker regali per casa dpr 686 del 3 5 1957 yety sport 5 rrufeja toyota mantova velodyne vx10 camera villorba www canzoni di leone di lernia it foto camera digitale online olimpia splendid deumidificatore batterie samsung e800 ecco i cieli del mito libri casper slide la macchina nera kingston ddr sodimm fromage frais invernali ninne nanne in italiano esce il drago entra la tigre peretta volkswagen fox diesel dori ghezzi wess cantautore garmin gps iii seks vidoe corpi vogliamoci tanto bene lalbero delle pere the biggest black cock un grande amore picrite star wars. clone wars. vol. 01 jogos da playboy nike calcio ecco la demo di age of empires iii la camera della morte terratec aureon universe 7 1 dvd-rw 9 4 gb internet a passo di lumaca piastra per bistecchiera piscina di antegnate appendici carrelli www lady web it guri quarta serie speciale 13 dicembre 2 hub 5 porte ethernet rod usted de diego torres olivetti logos 682 s piatti in vetro trottolino hp 200 todo lo que hago lo hago por ti sale marino integrale testo voglia di dance all night kit cp 100 film erotici helena figo sexy orbs athlon 64 939 3000 pieces de rechange processori intel pentium 4 prescott foto naziskin tocuh santo antonio pisa san francisco biglietti aerei gamepad pc saitek tarantelle pugliesi breezin gamepad joystick hotel centrale jesolo fotos garotas nuas navigatore gps blaupunkt grimaudo piastre intercambiabili cranberries zombi chat gay roma gratis bey usb sharp gx30 extremo mina in studio audi a3 1.6 calciatore nudo lampade risparmio energetico handel cd logitech premium usb headset 350 kuman mi manchi pooh dvd 8x princo yonis musica per i tuoi sogni pirandello l esclusa piscine montichiari rex rd 185 dx wwwpetardas con cardim, fernao set lettino bando straordinario 19 12 2005 servizio civile silke www google ro europa grecia isola ibm t43 foto di pantere www robertobaggio it == 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'];