将iframe分配给变量$ string。我想在iframes src中提取embed /和?rel之间的文本。所以我会寻找这个代码sL-2oYAI35o
<iframe width="420" height="315" src="http://www.youtube.com/embed/sL-2oYAI35o?rel=0" frameborder="0" allowfullscreen></iframe>
我需要使用php substr函数还是正则表达式?我不能使用常规子字符串,因为起始值可能不同。
答案 0 :(得分:1)
我对此进行了测试,但确实有效。
$string = preg_replace('/embed.*\?rel/', 'embed?rel', $string);
编辑,感谢@Orangepill
$string = preg_replace('/embed(.*)\?rel/', 'embed?rel', $string);
编辑2 我对其进行了测试,无论有没有捕获组,它的工作方式都相同。
答案 1 :(得分:0)
$text = '<iframe width="420" height="315" src="http://www.youtube.com/embed/sL-2oYAI35o?rel=0" frameborder="0" allowfullscreen></iframe>';
preg_match('`embed/(.+)\?rel`i', $text, $matches);
$code = (!empty($matches[1])) ? $matches[1] : '';