문제

I have text stored in my forum database with some incompatible such as the following:

Some text with [COLOR="red"]colored text[/COLOR] and [SIZE="7"]Big fonts[/SIZE] while "This double quote" is not matched

What I want is a regex that match any double quotes " " with any string inside them while those double quotes are inside the square bracket [ ] of the bbcode.

I need this to be able to fix those bbcodes by stripping the double quotes. The regex implementation is going to be using PHP.

도움이 되었습니까?

해결책 2

You may be looking for something like this:

$code= 'Some text with [COLOR="red"]colored text[/COLOR] and [SIZE="7"]Big fonts[/SIZE] while "This double quote" is not matched';

preg_match_all('/\[.*?="(\w+)"\]/', $code, $matches, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($matches[1]); $i++) {
    echo $matches[1][$i]."\n";
}

DEMO:
https://ideone.com/LEZHgx

다른 팁

Try this:

\[\w+=("[^"]*")\]

It matches square bracket, alphanumerics, equal sign, quoted string, close square bracket. Capture group 1 will contain the quoted part.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top