使用PHP函數(shù)preg_split()時出現(xiàn)這樣的錯誤: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];}}
3 回答

當(dāng)年話下
TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個贊
preg正則表達(dá)式必須有一個定界符,它可以是除元字符外的任何字符(位于表達(dá)式開始前和結(jié)束后,作用是把表達(dá)式與模式修飾符分開。比如 0abc0i 表示匹配不分大小寫的abc)。你的正則式里只有一個\n,pcre認(rèn)為它是你定義的定界符,于是“正則表達(dá)式不存在”就出現(xiàn)了。解決方法是在\n前后各加一個字符,比如 "/\n/"

蝴蝶不菲
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個贊
PERL兼容正則可以使用任何不是字母、數(shù)字或反斜線(\)的字符作為定界符,如果作為定界符的字符必須被用在表達(dá)式本身中,則需要用反斜線轉(zhuǎn)義。也可以使用(),{},[] 和 <> 作為定界符。
使用preg_split中間的pattern需要使用定界符啊。

慕容森
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個贊
缺少正則式。
$tmp =preg_split("\n",$txt); =====> $tmp =preg_split("/\n/",$txt);
- 3 回答
- 0 關(guān)注
- 843 瀏覽
添加回答
舉報
0/150
提交
取消