0

iframe 被分配给变量 $string。我想提取 iframe 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 函数或正则表达式吗?我不能使用常规子字符串,因为起始值可能不同。

4

2 回答 2

1

我对此进行了测试,并且可以正常工作。

$string = preg_replace('/embed.*\?rel/', 'embed?rel', $string);

编辑感谢@Orangepill

$string = preg_replace('/embed(.*)\?rel/', 'embed?rel', $string);

编辑 2我对其进行了测试,无论有没有捕获组,它的工作方式都相同。

于 2013-05-21T23:06:19.207 回答
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] : '';
于 2013-05-21T23:06:27.930 回答