views:

51

answers:

4

I decided to, for fun, make something similar to markdown. With my small experiences with Regular Expressions in the past, I know how extremely powerful they are, so they will be what I need.

So, if I have this string:

    Hello **bold** world

How can I use preg_replace to convert that to:

    Hello <b>bold</b> world

I assume something like this?

    $input = "Hello **bold** world";
    $output = preg_replace("/(\*\*).*?(\*\*/)", "<b></b>", $input);
+2  A: 

Close:

$input = "Hello **bold** world";
$output = preg_replace("/\*\*(.*?)\*\*/", "<b>$1</b>", $input);
thetaiko
Thanks, man! Exactly what I needed!
TheAdamGaskins
+2  A: 

I believe there is a PHP package for rendering Markdown. Rather than rolling your own, try using an existing set of code that's been written and tested.

Andy Lester
A: 

Mmm I guess this could work

$output = preg_replace('/\*\*(.*?)\*\*/', '<b>$1</b>', $input);

You find all sequences **something** and then you substitute the entire sequence found with the bold tag and inside it (the $1) the first captured group (the brackets in the expression).

Minkiele
A: 
$output = preg_replace("/\*\*(.*?)\*\*/", "<b>$1</b>", $input);
Steve Claridge