Jump to content

[SOLVED] tag-replacement regex


hungryroy

Recommended Posts

Hi there,

 

I have a PHP script that I use to modify some contents according to tagging rules. My initial code is like this:

 

    $content = preg_replace(

        '/(\[TEST\])(^\[)*(\[\/TEST\])/',

        '<a href="http://localhost/test.php?param=${2}">${2}</a>',

        $content);

 

As you can see, I'm trying to transform everything inside [TEST][/TEST] tags into a URL that uses the content of the tags as a parameter. In most cases it works fine, except sometimes when the content contains two [TEST] tags in the same line, i.e.

 

A [TEST]test[/TEST] of two [TEST]lines[/TEST].

 

In this case, it matches the first opening TEST tag to the second closing /TEST tag, i.e. it interprets it as only one big TEST tag pair instead of two tag pairs.

 

I'm fairly bad at regular expressions, so I could use some help. Any suggestions?

 

Thanks!

Link to comment
https://forums.phpfreaks.com/topic/100887-solved-tag-replacement-regex/
Share on other sites

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.