首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >preg_match数组并回显匹配结果。

preg_match数组并回显匹配结果。
EN

Stack Overflow用户
提问于 2014-05-26 15:53:16
回答 2查看 1.4K关注 0票数 1

我在里面有youtube链接的帖子。

所以我想找到所有的匹配,用自定义的链接替换它,并回显它。

**这是抽样员额:

代码语言:javascript
复制
  Life is good
 {youtube}NgBZrRCPCH8{/youtube}

 Fun is great!
 {youtube}joRCPCH8{/youtube}

 Earth is round and roll
 {youtube}pwnkfH8{/youtube}**

Youtube链接类似于json:{youtube}NgBZrRCPCH8{/youtube}

有点像youtube.com/NgBZrRCPCH8

这是我一直在尝试的。

代码语言:javascript
复制
    $con="Life is good
     {youtube}NgBZrRCPCH8{/youtube}

     Fun is great!
     {youtube}joRCPCH8{/youtube}

     Earth is round and roll
     {youtube}pwnkfH8{/youtube}";

$pattern="/{youtube}/";

$replace="";

$first= preg_replace($pattern,$replace,$con);

$pat="{/youtube}";

$rep="";

$sec=preg_replace($pat,$rep,$first);

$patt="/{}/";

$repl="";

$last=preg_replace($patt,$repl,$sec);

if($last){echo '<div class="vid">
        <div class="vendor">
            <iframe width="300" height="200" src="http://www.youtube.com/embed/'.$last.'" frameborder="0" allowfullscreen></iframe>
          </div>

      </div>';}

谢谢..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-26 16:16:38

我不知道你想做什么,但据我所知,是我干的。

代码语言:javascript
复制
$re = '/{youtube}(.*){\/youtube}/m'; 
$str="Life is good
     {youtube}NgBZrRCPCH8{/youtube}

     Fun is great!
     {youtube}joRCPCH8{/youtube}

     Earth is round and roll
     {youtube}pwnkfH8{/youtube}";

preg_match_all($re, $str, $matches);

$re = '/([\w ]+)[^a-zA-Z {}]+(?!{)/m'; 

preg_match_all($re, $str, $matches1);

echo '<div class="vid">';
foreach ($matches[1] as $key => $value) {
    echo '<div class="vendor">
    '.$matches1[0][$key].'
            <iframe width="300" height="200" src="http://www.youtube.com/embed/'.$value.'" frameborder="0" allowfullscreen></iframe>
          </div>';
}
echo '</div>';

输出

票数 2
EN

Stack Overflow用户

发布于 2014-05-26 17:23:53

另一种方式是:

代码语言:javascript
复制
$trans = array ('{youtube}'  => '<iframe width="300" height="200" src="http://www.youtube.com/embed/',
                '{/youtube}' => '" frameborder="0" allowfullscreen></iframe></div><div class="vendor">');

$result = '<div class="vid"><div class="vendor">'
        . substr(strtr($str, $trans), 0, -20) . '</div>';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23873801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档