Как PHP может обнаружить абзацы и добавить теги<p>для вывода HTML

Как заставить PHP обнаруживать абзацы и добавлять и анализировать

теги для вывода HTML?

Я делаю блог с поддержкой bbcode, но мне все еще не хватает

теги в выводе HTML постов блога. Как я могу заставить PHP обнаруживать и добавлять

теги на его выходе?

В настоящее время у меня есть этот код, чтобы разобрать только некоторые основы bbcode и GeSHi код:

<?php
function code($match) {
    require_once './class/geshi/geshi.php';
    $geshi = new GeSHi($match[2], $match[1]);
    return $geshi->parse_code();
}
function bbcode($input) {

    $input  = strip_tags($input);
    $input  = htmlentities($input);

    $bbcodes = array(        
        "/\[b\](.*?)\[\/b\]/is" => "<b>$1</b>",
        "/\[u\](.*?)\[\/u\]/" => "<u>$1</u>",
        "/\[i\](.*?)\[\/i\]/" => "<i>$1</i>",
        "/\[d\](.*?)\[\/d\]/" => "<del>$1</del>",
        "/\[url=(.*?)\](.*?)\[\/url\]/" => "<a href='$1'>$2</a>"
    );
    $input  = preg_replace(array_keys($bbcodes), array_values($bbcodes), $input);

    //Check for code and add GeSHi:
    $input  = preg_replace_callback('~\[code=(.*?)\](.*?)\[\/code\]~is', 'code', $input);

    return $input;

}
?>

Если пользователь отправляет в textarea следующий пример:

This is [b]bold and [i]italic[/i][/b].

This is some [u]PHP[/u] code:
[code=php]
echo 'Hello world!';
[/code]

That's all folk!

HTML-вывод:

This is <b>bold and <i>italic</i></b>.

This is some <u>PHP</u> code:
<pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Hello world!'</span><span style="color: #339933;">;</span>
&nbsp;</pre>

That's all folk!

... без тегов p Так как мне добавить эту функцию?

0 ответов

Другие вопросы по тегам