问答详情
源自:3-2 正则表达式的基本语法

一定要写/bbc/i才能匹配吗?可以把/bbc/代换成$p吗

<?php
//请修改变量p的正则表达式,使他能够匹配BBC
$p = '/bbc/';
$str = "BBC是英国的一个电视台";
if (preg_match('/$p/i', $str)) {
    echo '匹配成功';
}



提问者:wsfty 2015-11-20 01:37

个回答

  • _Doogie
    2016-08-30 10:33:10

    可以,不过要用双引号去解析它

  • zqbinary
    2016-03-04 09:24:19

    一般都是答案里那么写的

    $p = '/bbc';

    $str = "BBC是英国的一个电视台";

    if (preg_match("$p/i", $str)) {//你非要这么写就用双引号,让$p被识别

        echo '匹配成功';

    }

    人生攻击的那位又何必呢?

  • liuchenghui
    2016-02-19 16:59:31

    你这脑袋 建议你别学了  哈哈

  • 达尔之心
    2015-12-05 23:05:49

    不可以,语法错误。我们可以仔细分析一下:$p的值应该是字符串BBC或者bbc。那么'/$p/i',其实就是:'/'BBC'/i'或者'/'bbc'/i'。这是个什么鬼?既不是字符串也不是变量,所以会报语法错误。


  • LIANHK
    2015-11-20 13:58:44

    可以,不过要这样写:

    <?php
    //请修改变量p的正则表达式,使他能够匹配BBC
    $p = '/bbc/i';
    $str = "BBC是英国的一个电视台";
    if (preg_match($p, $str)) {
        echo '匹配成功';
    }