This question already has an answer here:
I need a php regex that will do the following with my original string
<div>The quick jumped over <p>[video=xdf890sfadf]</p> the white fence.</div>
to
<div>The quick jumped over <p><iframe src="http://www.youtube.com/embed/xdf890sfadf?rel=0&vq=hd720" height="365" width="650" allowfullscreen="" frameborder="0"></iframe></p> the white fence.</div>
So what I need do to is pull the video ID out of the any give string of html.
I want to use the preg_replace() function for this, but I'm confused about the proper regex to use with it. Please help.
</div>
A simple search here on SO and should be no problem. Just get it using preg_match()
. Consider this example:
$original_string = '<div>The quick jumped over <p>[video=xdf890sfadf]</p> the white fence.</div>';
preg_match('/\[video=([^\]]+)\]/', $original_string, $matches);
if(!empty($matches)) {
$value = $matches[1];
$video = $matches[0];
$new_string = '<div>The quick jumped over <p><iframe src="http://www.youtube.com/embed/'.$value.'?rel=0&vq=hd720" height="365" width="650" allowfullscreen="" frameborder="0"></iframe></p> the white fence.</div>';
echo $new_string;
}
Note: credit goes to https://stackoverflow.com/a/8935740/1978142