Linia 1357 bbcode.class.php
$node['text'] = mb_substr( $node['text'], 0, $length, $this->settings->charset);
-- -- Table structure for table `Levels` -- CREATE TABLE IF NOT EXISTS `Levels` ( `ID_lvl` smallint(6) NOT NULL, `Question` text COLLATE utf8_unicode_ci NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -- Dumping data for table `Levels` -- INSERT INTO `Levels` (`ID_lvl`, `Question`) VALUES (1, 'Najpierw sprawdzimy czy nie jesteś idiotą. \nPytanie brzmi: 2+2*2 jest?'), (2, 'Jak nazywa się konstruktor tego karabinu?\r\n [.img]http://ttg.webuda.com/lvl2/aks.PNG[./img]'), (3, 'Najbardziej dochodowy film w historii?\r\n'), (4, 'Od jakiego słowa pochodzi nazwa "Google"?\r\n'), (5, '01010011011000010110110101101111011000110110100001101111011001000111101001101001
01101011\r\n'), (6, 'Ile grodzi wodoszczelnych miał RMS Titanic?\r\n[.img]http://ttg.webuda.com/lvl6/tytanik.PNG[./img]\r\n'), (7, 'Jaką tablicę mają Tworzanice?(Chodzi o pierwsze trzy litery)\r\n[.img]http://ttg.webuda.com/lvl7/tab.png[./img]\n'), (8, 'Jak [.b]naprawdę[./b] nazywa się autor Sztuki Wojennej?\r\n\r\n[youtube]http://www.youtube.com/watch?v=wtaja8lkEdk[/youtube]\r\n'), (9, 'Jaka litera jest na szczysie tzw."Tablicy Snellena"?\r\n\r\n[.img]http://www.ttg.webuda.com/lvl10/snellen.PNG[./img]');
//connection exit; } //encoding mysql_set_charset('utf8', $conn); //db selection exit; } //display db table if (!$result) { } $table_display = '<table border=\'1\'><tr>'; $table_display .= "<td>$LANG[level]</td><td>$LANG[question]</td><td>$LANG[edit]</td>"; $table_display .= "</tr>\n"; // printing table rows { $table_display .= '<tr>'; // $row is array... foreach( .. ) puts every element // of $row to $cell variable foreach($row as $cell) if(mb_strlen($cell) >= 3){ $bb = new BbCode(); $bb->parse($cell, false); $cut_cell = $bb->cutText(30); $table_display .= "<td>$cut_cell</td>"; } else{ $table_display .= "<td>$cell</td>"; } $table_display .= "<td><img src=\"../templates/$CONF[template]/img/page_edit.png\"> </td>"; $table_display .= "</tr>\n"; }
/** * Czy poprawiać poprawność użycia kolejności tagów. Np. [.b]tekst[.i] kursywą[./b] zostanie zamienione na [.b]tekst[.i] kursywą[./i][./b] * @var bool */ public $validHtml = false;
class BbCodeFilterCode { 'open' => 'div class="code_wrapper"', 'close' => 'div', 'notallowed_child' => 'all', 'leave_notallowed_child' => 1, 'leave_notallowed_parent' => 1, 'parse_body' => 'parseCode' ), 'open' => 'div', 'close' => 'div', 'notallowed_child' => 'all', 'leave_notallowed_child' => 1, 'parse_body' => 'parsePHP' ) ); /** * Parsuje tag CODE * @param array $tag * @param array $openNode * @param array $body * @param array $closeNode */ public function parseCode($tag, &$openNode, &$body, &$closeNode) { // tutaj mozemy dodać geshi czy to tez sie podoba $openNode['text'].='<div class="code_title">Kod</div><div class="code_area">'; $closeNode['text'] = '</div>'.$closeNode['text']; } public function parsePHP($tag, &$openNode, &$body, &$closeNode) { foreach ($body as &$node) { if ($node['type'] === BbCode::NODE_TYPE_TEXT) { $node['nobr'] = true; } } } }
odpowiadać będzie
[size=1]text[/span]
odpowiadać będzie
[size=2]text[/span]
odpowiadać będzie
[size=4]text[/span]
'open' => 'span', 'close' => 'span', 'attr' => 'style', 'type' => 'string', 'name' => 'font-size:', '1' => '14px', '2' => '16px', '3' => '18px', '4' => '20px' ), 'replace' => true ) ) ),
$bbcode->parse($n->content, true );
,
i wszystkie inne HTML'owe nie działają, czyli w zasadzie tak ma być.
, wtedy zamiast tego, widzę:
jest parsowana na link, czyli można to kliknąć, jednak odnośnik jest wtedy następujący:
http://google.pl/...;>Tekst</a>
.
http://google.pl/%22%3ETekst%3C/a%3E
$bbcode->parse($n->content, false ); $code = $bbcode->getBbcode(); $bbcode->getSettings()->trustText = true;
nie jest parsowany i jest widoczny tak jak napisałem.
$openNode['text'] = '<iframe title="YouTube video player" width="560" height="349" src="http://www.youtube.com/embed/'.$idMovie.'?rel=0" frameborder="0"> </iframe> ';
'open' => 'iframe', 'close' => 'iframe', 'notallowed_child' => 'all', 'parse_body' => 'checkMovie', 'hide_body_in_cut_text' => true, 'attr' => 'width', 'type' => 'number', 'default_value' => '457' ), 'attr' => 'height', 'type' => 'number', 'default_value' => '329' ), ) ) );
$openNode['text'] .= ' src="http://www.youtube.com/embed/'.$idMovie.'" frameborder="0">';
$bbcode->parse($forumr[2], false)->trustText = true;; $forum[$i][2] = $bbcode->cutText(120,false);//tresc postu
Zapomniałeś ampersanta przy $openNode. Z kolei $body niby nie edytujesz w tej funkcji, ale też przydałoby się dla spokoju dać & . Chwilę się głowiłem, czemu nie dostaję odpowiednich tagów
public function parseQuote($tag, $openNode, $body, &$closeNode, $settings) {
require_once 'include/BbCode/BbCode.class.php'; $bbcode = new BbCode();
(Tak podaję, gdyby ktoś potrzebował konstrukcji typu
{ $valid = filter_var($text, FILTER_VALIDATE_URL); if (!$valid) $valid = filter_var('http://php.net/' . $text, FILTER_VALIDATE_URL); if (!$valid) return false; }
$bbcode->getSettings()->trustText = false; $bbcode->parse($tresc,false); $tresc=$bbcode->getBbcode();
'open' => 'div class="quote"', 'close' => 'div', 'parse_body' => 'parseQuote', 'type' => 'string' ), 'type' => 'string' ) ) )