public static function parseBBCode($str) { $validator = new htmlValidator(); $parser = new BBCodeParser(); $parser->addCodeDefinitionSet(new \JBBCode\DefaultCodeDefinitionSet()); /* [s] <strike> */ $builder = new BBCodeBuilder('s', '<strike>{param}</strike>'); $parser->addCodeDefinition($builder->build()); /* [pre] <pre> */ $builder = new BBCodeBuilder('pre', '<pre>{param}</pre>'); $parser->addCodeDefinition($builder->build()); /* [pre] <pre> */ $builder = new BBCodeBuilder('sup', '<sup>{param}</sup>'); $parser->addCodeDefinition($builder->build()); /* [pre] <pre> */ $builder = new BBCodeBuilder('sub', '<sub>{param}</sub>'); $parser->addCodeDefinition($builder->build()); /* [li] <li> */ $builder = new BBCodeBuilder('li', '<li>{param}</li>'); $parser->addCodeDefinition($builder->build()); $builder = new BBCodeBuilder('list', '<ul>{param}</ul>'); $builder->setUseOption(false)->setParseContent(true); $parser->addCodeDefinition($builder->build()); $builder = new BBCodeBuilder('list', '<ol>{param}</ol>'); $builder->setUseOption(true)->setParseContent(true); $parser->addCodeDefinition($builder->build()); /* [move] <marquee> */ $builder = new BBCodeBuilder('move', '<marquee>{param}</marquee>'); $parser->addCodeDefinition($builder->build()); /* [center] <div text-align: center> */ $builder = new BBCodeBuilder('center', '<div style="text-align: center">{param}</div>'); $parser->addCodeDefinition($builder->build()); /* [left] <div text-align: left> */ $builder = new BBCodeBuilder('left', '<div style="text-align: left">{param}</div>'); $parser->addCodeDefinition($builder->build()); /* [right] <div text-align: right> */ $builder = new BBCodeBuilder('right', '<div style="text-align: right">{param}</div>'); $parser->addCodeDefinition($builder->build()); $parser->parse($str); return $parser->getAsHTML(); }