if (preg_match('/^foo/', $string)) {
echo "s";
}-----------正确
但是为什么吧前面的斜杠去掉就报错了
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in E:\workspace\date\zhengze.php on line 3
----------‘^’符号不就是代表的是以什么开始的意思吗,前面加了斜杠干什么?

解决方案 »

  1.   

    表示其中的内容为正则表达式规则串拿掉可不可以呢?不可以因为后面还有模式声明
    那么写成 js 的那样呢?理论上可以,但在 php 的语法分析部分没有这个。因为这组正则表达式函数是作为扩展出现的。内置的就不需要那个斜线了,比如:split、ereg 等
      

  2.   

    '' 是表示里面的是字符串
    /^ 正则表达式开始 /正则表达式结束
    $string = "xxxfooxxx";
    if (preg_match('/^\w+foo\w+$/', $string)) {
    echo "有foo";
    }else{
    echo "没有foo";
    }
      

  3.   

    /是定界符你用的是preg_match,如果你用ereg就不会报错,但是php5.3以后ereg就被弃用了,建议你还是不要用ereg当然定界符并不是只能用/,你也可以用#等比如:if (preg_match('#^foo#', $string)) {
    echo "s";
    }
    也是没有错的