PHP函数preg_split()出错误
使用PHP函数preg_split()时出现这样的错误:Warning:preg_split()[function.preg-split]:Emptyregularexp...
使用PHP函数preg_split()时出现这样的错误:Warning: preg_split() [function.preg-split]: Empty regular expression in D:\PHPServer\WEB\01\jpgraph\jpgraph.php on line 5782
代码function GetTextHeight($txt="",$angle=0) {
$tmp =preg_split("\n",$txt);
$n = count($tmp);
$m=0;
for($i=0; $i< $n; ++$i)
$m = max($m,strlen($tmp[$i]));
if( $this->font_family <= FF_FONT2+1 ) {
if( $angle==0 ) {
$h = imagefontheight($this->font_family);
if( $h === false ) {
JpGraphError::RaiseL(25088);//('You have a misconfigured GD font support. The call to imagefontwidth() fails.');
}
return $n*$h;
}
else {
$w = @imagefontwidth($this->font_family);
if( $w === false ) {
JpGraphError::RaiseL(25088);//('You have a misconfigured GD font support. The call to imagefontwidth() fails.');
}
return $m*$w;
}
}
else {
$bbox = $this->GetTTFBBox($txt,$angle);
return $bbox[1]-$bbox[5];
}
} 展开
代码function GetTextHeight($txt="",$angle=0) {
$tmp =preg_split("\n",$txt);
$n = count($tmp);
$m=0;
for($i=0; $i< $n; ++$i)
$m = max($m,strlen($tmp[$i]));
if( $this->font_family <= FF_FONT2+1 ) {
if( $angle==0 ) {
$h = imagefontheight($this->font_family);
if( $h === false ) {
JpGraphError::RaiseL(25088);//('You have a misconfigured GD font support. The call to imagefontwidth() fails.');
}
return $n*$h;
}
else {
$w = @imagefontwidth($this->font_family);
if( $w === false ) {
JpGraphError::RaiseL(25088);//('You have a misconfigured GD font support. The call to imagefontwidth() fails.');
}
return $m*$w;
}
}
else {
$bbox = $this->GetTTFBBox($txt,$angle);
return $bbox[1]-$bbox[5];
}
} 展开
4个回答
2016-01-07 · 知道合伙人数码行家
关注
展开全部
preg正则表达式必须有一个定界符,它可以是除元字符外的任何字符(位于表达式开始前和结束后。
作用是把表达式与模式修饰符分开。比如 0abc0i 表示匹配不分大小写的abc)。
正则式里只有一个\n,pcre认为它是定义的定界符,于是“正则表达式不存在”就出现了。
解决方法是在\n前后各加一个字符,比如 "/\n/"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
PERL兼容正则可以使用任何不是字母、数字或反斜线(\)的字符作为定界符,如果作为定界符的字符必须被用在表达式本身中,则需要用反斜线转义。也可以使用(),{},[] 和 <> 作为定界符。
使用preg_split中间的pattern需要使用定界符啊。
使用preg_split中间的pattern需要使用定界符啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
缺少正则式。
$tmp =preg_split("\n",$txt); =====> $tmp =preg_split("/\n/",$txt);
$tmp =preg_split("\n",$txt); =====> $tmp =preg_split("/\n/",$txt);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |