我在A文件中引用B文件的函数cut(),在A页面中写include_once("B.php");然后在下面调用<?php  echo cut($arr[title],28); ?>但不知道为什么老是运行报错Fatal error: Call to undefined function cut() in D:\XAMPP1.7.3\xampp\htdocs\web\index.php on line 233
这个是不是说没有定义CUT函数?但我明明定义了啊。然后查看A页面源文件的时候,本该显示结果的那段显示的却是我的CUT函数代码。
CUT函数是<?
function cut($Str, $Length) {//$Str为截取字符串,$Length为需要截取的长度 global $s;
$i = 0;
$l = 0;
$ll = strlen($Str);
$s = $Str;
$f = true; while ($i <= $ll) {
if (ord($Str{$i}) < 0x80) {
$l++; $i++;
} else if (ord($Str{$i}) < 0xe0) {
$l++; $i += 2;
} else if (ord($Str{$i}) < 0xf0) {
$l += 2; $i += 3;
} else if (ord($Str{$i}) < 0xf8) {
$l += 1; $i += 4;
} else if (ord($Str{$i}) < 0xfc) {
$l += 1; $i += 5;
} else if (ord($Str{$i}) < 0xfe) {
$l += 1; $i += 6;
} if (($l >= $Length - 1) && $f) {
$s = substr($Str, 0, $i);
$f = false;
} if (($l > $Length) && ($i < $ll)) {
$s = $s . '...'; break; //如果进行了截取,字符串末尾加省略符号“...”
}
}
return $s;
}
?>不知道我表达的清楚不,希望有人能帮忙解答。

解决方案 »

  1.   

    你开启了php断标签了吗,你A文件的php标签应该是<?php吧
      

  2.   

    +++,php.ini中令 short_open_tag = On  或者 用全标记。
      

  3.   

    你是说<?php include_once("B.php");?>吗?那肯定有啊。
      

  4.   


    所以说我猜测你是没有开启php的短标签,<??>是属于短标签,解决方法见#3
      

  5.   

    <?
    function cut($Str, $Length) {//$Str为截取字符串,$Length为需要截取的长度  
    顶部这儿
    改为<?php    <==
      

  6.   

    嗯嗯,可以了。这个弄了我好久,我还以为这里语法什么的有错误呢。这个我真不太懂,接触PHP不久,这个<??>还需要另外开启的吗?不开启是不能识别的意思吗?那我HTML什么的也没见开启啥啊。方便的话详细说下好吗?
      

  7.   

    这个<??>还需要另外开启的吗?是的不开启是不能识别的意思吗?是的,所以一般不建议用短标签那我HTML什么的也没见开启啥啊。HTML是另一种语言,每种语言都有不同的特性,这个就不必要深究了