preg_match_all和我的字符串怎么了?

时间:2019-08-27 16:48:16

标签: php regex preg-match-all

我在文本中有一系列要与preg_match_all匹配的标签,但是$regex字符串有问题,我不知道该怎么做。

$tagReplace = ['mov', 'flv', 'youtube'];
foreach ($tagReplace as $plg_tag) {
    $regex = "#{" . $plg_tag . "}(.*?){/" . $plg_tag . "}#s";
    $var = preg_match_all($regex, "{mov}the_video_url{/mov}", $matches, PREG_PATTERN_ORDER);
    var_dump($matches);
}

1 个答案:

答案 0 :(得分:1)

<?php

 $matches = array();
 $p = '/(mov|flv|youtube)/';
 $replace_to = 'your text you want to be insted of the mov or flv or youtube';
 $str = ' the string that you want to work on and replace its content';

$p_c = array(
             $p => function($match) {
                   $ret = str_replace("mov", $replace_to, $match[0]);
                   $ret = str_replace("flv", $replace_to, $ret);
                   $ret = str_replace("youtube", $replace_to, $ret);

                   return $ret;
             }
 );

 $res3 = preg_replace_callback_array($p_c, $str);