我需要从这一行爆炸你的网址:
[embed]https://www.youtube.com/watch?v=L3HQMbQAWRc[/embed]
有可能吗?我需要删除[embed]& [/嵌入]。
答案 0 :(得分:2)
preg_match就是你所需要的。
<?php
$str = "[embed]https://www.youtube.com/watch?v=L3HQMbQAWRc[/embed]";
preg_match("/\[embed\](.*)\[\/embed\]/", $str, $matches);
echo $matches[1]; //https://www.youtube.com/watch?v=L3HQMbQAWRc
答案 1 :(得分:2)
Host localhost
Hostname 127.0.0.1
IdentityFile ~/.ssh/foo
User foo
请参阅str_replace
答案 2 :(得分:2)
为了更好地衡量,您还可以在正则表达式中使用正lookbehind's and lookahead's:
(?<=\[embed\])(.*)(?=\[\/embed\])
您可以这样使用它:
$string = "[embed]https://www.youtube.com/watch?v=L3HQMbQAWRc[/embed]";
$pattern = '/(?<=\[embed\])(.*)(?=\[\/embed\])/';
preg_match($pattern, $string, $matches);
echo $match[1];
以下是正则表达式的解释:
(?<=\[embed\])
是一个积极的观察 - 匹配其他东西。
(.*)
是一个捕获组 - .
匹配任何字符(换行符除外)和Quantifier:*
,它提供零次和无限次之间的匹配,尽可能多次。这是在之前和之后的组之间匹配的。 是您正在寻找的机器人。
(?=\[\/embed\])
是一个积极的前瞻 - 匹配它之前的事物。
答案 3 :(得分:0)
为什么不使用str_replace? :)快速&amp;简单 http://php.net/manual/de/function.str-replace.php