kristao Posted November 6, 2003 Report Share Posted November 6, 2003 Es te paaris stundas pa internetu kliistu un mekleeju kaadu BBcode piemeeru, kaa tos veidot apstraadaat un pielieto tas ir tas pats [kods] text [/kods]. Varbuut kaadam ir kaads piemeers? Link to comment Share on other sites More sharing options...
AntiXakep Posted November 7, 2003 Report Share Posted November 7, 2003 Man ari sito vajadzetu ! Link to comment Share on other sites More sharing options...
Kaklz Posted November 7, 2003 Report Share Posted November 7, 2003 Man ari sito vajadzetu ! pieņemsim, ka triviālākajā variantā varētu izlīdzēties ar šo: http://paste.php.lv/501 man gan liekas, ka pie vainas ir slinkums, .. var jau intereseejošo daļu apskatiities kaut vai to pašu forumu izejas tekstos ;) Link to comment Share on other sites More sharing options...
Digital-X Posted November 12, 2003 Report Share Posted November 12, 2003 BBkodi ir shitadi [b][/b][i][/i][u][/u] Tie kuri ir kvadrat iekavas [] Link to comment Share on other sites More sharing options...
jogin Posted March 6, 2006 Report Share Posted March 6, 2006 (edited) Es lietoju šādu: __________________________________________________________ <?php function bbcode($string) { $string = preg_replace("#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $string); //boldeets $string = preg_replace("#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $string); //sliips $string = preg_replace("#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $string); //pasviitrots #links ar link //links bez teksta $string = preg_replace("#\[link\]www\.(.+?)\[/link\]#is", "<a href=\"http://www.\\1\">www.\\1</a>", $string); $string = preg_replace("#\[link\](.+?)\[/link\]#is", "<a href=\"\\1\">\\1</a>", $string); $string = preg_replace("#\[link=(.+?)\](.+?)\[/link\]#is", "<a href=\"\\1\">\\2</a>", $string); //links ar tekstu #tas pats ar url $string = preg_replace("#\[url\]www\.(.+?)\[/url\]#is", "<a href=\"http://www.\\1\">www.\\1</a>", $string); $string = preg_replace("#\[url\](.+?)\[/url\]#is", "<a href=\"\\1\">\\1</a>", $string); $string = preg_replace("#\(.+?)\[/url\]#is", "<a href=\"\\1\">\\2</a>", $string); #atteels $string = preg_replace("#\[img\](.+?)\[/img\]#is", "<img src=\"\\1\" alt=\"\" style=\"margin: 4px 0px 4px 0px\" />", $string); //vienkarshi atteels $string = preg_replace("#\[img-l\](.+?)\[/img\]#is", "<img src=\"\\1\" alt=\"\" style=\"float: left; margin: 0px 4px 0px 0px\" />", $string); //atteels pa kreisi $string = preg_replace("#\[img-r\](.+?)\[/img\]#is", "<img src=\"\\1\" alt=\"\" style=\"float: right; margin: 0px 0px 4px 4px\" />", $string); //atteels pa labi return $string; } ?> Edited March 6, 2006 by jogin Link to comment Share on other sites More sharing options...
Ugga Posted March 6, 2006 Report Share Posted March 6, 2006 Mnjaa, bet kā varētu noformatēt , jeb citātu?Kas mainās ja ir citāti iekš citātiem? Link to comment Share on other sites More sharing options...
v3rb0 Posted March 6, 2006 Report Share Posted March 6, 2006 (edited) ja ir citāts ieksh citāta, tad nederēs repleisot sākumu ar pirmām beigām. vajadzēs veidot kaut ko kā koku no nodēm (bbdagiem ar textu starp tām) - līdzīgi kā xmlu parsēt. pēc tam no koka taisīt formatētu htmlu. piem šitāds [q]viens [q] divi [q]pedejais[/q] [/q] [/q] ar repleisošanu par pirmo quoti paņems šitādu gabalu: [q]viens [q] divi [q]pedejais[/q] edit: lai gan, ja repleiso otro un trešo reizi (t.i. kamēr ir [q] bbcods) un visi aizverošie [/q] htmlā ir vienādi, tad html tagi tiks salikti pareizās vietās. Edited March 6, 2006 by v3rb0 Link to comment Share on other sites More sharing options...
bubu Posted March 6, 2006 Report Share Posted March 6, 2006 Nu ja prosta vajag tikai aizstāt bbkodu ar kādu html tagu (div piemēram), tad jau gan nekādu koku nevjag taisīt. Bet gan ar parastu str_replace [q] => <div class=".."> un [/q] => </div> pietikt var. Tik vēl par validitāti jāpiedomā.. Link to comment Share on other sites More sharing options...
Recommended Posts