Gör en enkel funktion för BBCode formattering

  • Författare
  • Meddelande
Användarvisningsbild

mos

dbwebb

  • Inlägg: 10278
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Gör en enkel funktion för BBCode formattering

Inlägg16 apr 2012, 17:50

Här är en enkel funktion som bygger på reguljära uttryck om implementerar BBCode i din webbplats.

function bbcode2html($text)
Kod: Markera allt
/**
* Helper, BBCode formatting converting to HTML.
*
* @param string text The text to be converted.
* @returns string the formatted text.
*/
function bbcode2html($text) {
  $search = array(
    '/\[b\](.*?)\[\/b\]/is',
    '/\[i\](.*?)\[\/i\]/is',
    '/\[u\](.*?)\[\/u\]/is',
    '/\[img\](https?.*?)\[\/img\]/is',
    '/\[url\](https?.*?)\[\/url\]/is',
    '/\[url=(https?.*?)\](.*?)\[\/url\]/is'
    );   
  $replace = array(
    '<strong>$1</strong>',
    '<em>$1</em>',
    '<u>$1</u>',
    '<img src="$1" />',
    '<a href="$1">$1</a>',
    '<a href="$1">$2</a>'
    );     
  return preg_replace($search, $replace, $text);
}


Du kan testa funktionen för bbcode här eller följande länk med förifyllt innehåll.
...
..:
.... /mos
Användarvisningsbild

mos

dbwebb

  • Inlägg: 10278
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: Gör en enkel funktion för BBCode formattering

Inlägg30 apr 2018, 17:29

Artikeln som finns i Tips från Coachen "Reguljära uttryck i PHP ger BBCode formattering" fick en uppdatering.

Koden ser nu ut så här (ungefär som tidigare).

Kod: Markera allt
/**
* Helper, BBCode formatting converting to HTML.
*
* @param string text The text to be converted.
*
* @returns string the formatted text.
*/
function bbcode2html($text) {
    $search = [
        '/\[b\](.*?)\[\/b\]/is',
        '/\[i\](.*?)\[\/i\]/is',
        '/\[u\](.*?)\[\/u\]/is',
        '/\[img\](https?.*?)\[\/img\]/is',
        '/\[url\](https?.*?)\[\/url\]/is',
        '/\[url=(https?.*?)\](.*?)\[\/url\]/is'
    ];

    $replace = [
        '<strong>$1</strong>',
        '<em>$1</em>',
        '<u>$1</u>',
        '<img src="$1" />',
        '<a href="$1">$1</a>',
        '<a href="$1">$2</a>'
    ];

    return preg_replace($search, $replace, $text);
}
...
..:
.... /mos

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 16 gäster