<?php
$sTitle="title='本月'";
$str="title='sdfsdfsdfsdf'";
echo ereg_replace("(title='[\w]{0,}')", $sTitle, $str);?>这个没有匹配到,请问哪里的问题?
$sTitle="title='本月'";
$str="title='sdfsdfsdfsdf'";
echo ereg_replace("(title='[\w]{0,}')", $sTitle, $str);?>这个没有匹配到,请问哪里的问题?
$str="title='sdfsdfsdfsdf'";
echo preg_replace("/(title='\w+')/i", $sTitle, $str);//这样就对了
$sTitle="title='本月'";
$str="title='sdfsdfsdfsdf'";
echo ereg_replace("/(title='\w+')/i", $sTitle, $str);//这样就不对
ereg_* 可以用[A-Za-z0-9_]出现问题可以查手册的
$pattern="title='[a-z]+'";
echo ereg_replace($pattern, "a", $str);
echo "<br>";
这个也可以,难道是ereg_replace不认\w ?
'\w' is a Perl-compatible regular expression syntax
学其中一个就可以了另:POSIX正则自php5.3后不推荐使用perl正则首先前后要有相同的分界符,你的例子中是/,POSIX则不需要
分界符后的i表示不区分大小写,请看手册中pcre模式修正符一节判断中文或多字节字符尽可能不用[],因为[]多数按单字节计算
例如[:]和[|]将无法区分因为:和|的GBK码前一个字节是相同的
echo preg_replace("/(title='\w+')/i", $sTitle, $str);这两种写发 都能正确执行。