问答详情
源自:3-7 正则表达式的搜索和替换

'<em>$0</em>'这部分代码社么意思呢?

提问者:晋沛 2014-10-03 09:19

个回答

  • Mext
    2014-10-28 21:29:09

    先看看这个函数的意思:

    preg_replace($pattern , $replacement , $subject);

    搜索subject中匹配pattern的部分,  以replacement进行替换.

    在左侧例子中,

    $pattern = '/(\w+) (\d+), (\d+)/i';
    $replacement = '$3, ${1} $2';

    注意$pattern中的括号,它一共用三个括号括起来了内容,表示有三个子组:$1、$2、$3,分别代表着(\w+)、(\d+)、(\d+).需要注意的是,$1等同于${1}。

    因此咱们看到$replacement = '$3, ${1} $2';就能应该不难理解他的意思了。

    在提示的答案里,$p = '/\w+\.\w+/i'; 并没有加括号。

    $0表示保存完整模式的所有匹配。


  • joker_0042
    2014-10-14 20:55:59

    纠正一下,是匹配NULL

  • joker_0042
    2014-10-14 20:43:44

    应该是不做匹配,原样打印