July 19th, 2010, 07:16 PM
i was never good with regex... could you please help me?
1. Want to remove [stream ...] tags:
$content = "blah blah blah [stream provider=video flv=x:video.flv embed=false share=false width=450 height=253 dock=true controlbar=over bandwidth=high autostart=false /]";
$content = preg_replace( '/\[(stream provider)(.*)\/\]', '', $content);
I know the regex is wrong...
2. content= '[video title="vtitle" size=10 width=400 height=300]http://www.youtube.com/?v=xxx[/video]'
how can i get this?
$title=vtitle; size=10; width=400; height=300;
note, tag may be only
[video title="vtitle" size=10]http://www.youtube.com/?v=xxx[/video]
(users do not use always full options)
Many, many... Thanks
July 19th, 2010, 08:34 PM
Thread renamed; moved from PHP.
1. You're missing the closing delimiter. But you also have another issue: * is greedy, so if there are two of those [stream] things then not only will they both disappear (as expected) but everything in between the first and last tag will disappear too. Adding a ? makes it ungreedy:
Allows for an empty [stream] (even if that's invalid).
Do a print_r on the matches you get back to see what went where. You can then assign the bits to individual variables.