Jump to content

[SOLVED] preg_replace and bbcode


cujo

Recommended Posts

I have an issue with replacing BBCode with html. I found a script that does all the conversions for me, but one thing it leaves out is superscripts and subscripts.

 

I thought I'd simply modify the bold code:

$Text = preg_replace("(\[b\](.+?)\[\/b])is",'<span class="bold">$1</span>',$Text);

 

With the superscript and subscript code:

$Text = preg_replace("(\[sub\](.+?)\[\/sub])is",'<sub>$1</sub>',$Text);
$Text = preg_replace("(\[sup\](.+?)\[\/sup])is",'<sup>$1</sup>',$Text);

 

But that didn't work. I found some articles on regex, but they were pretty vague. I was hoping someone could help me out.

 

Link to comment
https://forums.phpfreaks.com/topic/59492-solved-preg_replace-and-bbcode/
Share on other sites

<?php
$Text = "[b]this is bold[/b] This has a superscript[sup]3[/sup].  This has a subscript[sub]1[/sub]\n";
echo $Text;
$Text = preg_replace(
array(
	'|\[b\](.+?)\[/b\]|is',
	'|\[sup\](.+?)\[/sup\]|is',
	'|\[sub\](.+?)\[/sub\]|is'
),array(
	'<span class="bold">$1</span>',
	'<sup>$1</sup>',
	'<sub>$1</sub>'
),$Text
);

echo $Text;
?>

OUTPUT:

[b]this is bold[/b] This has a superscript[sup]3[/sup].  This has a subscript[sub]1[/sub]
<span class="bold">this is bold</span> This has a superscript<sup>3</sup>.  This has a subscript<sub>1</sub>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.