PHP编程基础与实例教程第二版练习题参考答案资料 下载本文

} return $new_string; }

$str = \你好,世界!\echo reverse($str); ?> 3.

使用mb_substr()或mb_strcut()函数可以解决从中文字符串中取子串时可能产生的乱码问题。 4.

方法1:

function getExt($url){ $arr = parse_url($url);

$file = basename($arr['path']); $ext = explode(\ return $ext[1]; } ?>

方法2:

function getExt($url) { $url = basename($url); $pos1 = strpos($url,\ $pos2 = strpos($url,\ if(strstr($url,\

return substr($url,$pos1 + 1,$pos2 - $pos1 - 1); } else {

return substr($url,$pos1); } } ?> 5.

方法1.

get_ext1($file_name), get_ext2($file_name) function get_ext1($file_name){ return strrchr($file_name, '.'); }

方法2.

function get_ext2($file_name){

return substr($file_name, strrpos($file_name, '.')); }

方法3.

function get_ext3($file_name){

return array_pop(explode('.', $file_name)); }

方法4.

function get_ext4($file_name){ $p = pathinfo($file_name); return $p['extension']; }

方法5.

function get_ext5($file_name){

return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.'))); }

6. 说明:这里使用了相对路径的概念 假设:$a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php';

那么,$b相对于$a的相对路径应该是../../c/d/e.php explode()函数、count()函数、dirname()函数。

function getRelativePath($a, $b) { $returnPath = array(dirname($b)); // $arrA = explode('/', $a); $arrB = explode('/', $returnPath[0]); for ($n = 1, $len = count($arrB); $n < $len; $n++) { if ($arrA[$n] != $arrB[$n]) { break; } } if ($len - $n > 0) { $returnPath = array_merge($returnPath, array_fill(1, $len - $n, '..')); } $returnPath = array_merge($returnPath, array_slice($arrA, $n)); return implode('/', $returnPath); }

$a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php';

echo getRelativePath($a, $b); ?>

第13章答案:

1.

#menu ul li a:link,#menu ul li a:visited{

color:#FF0000; font-size:14pt } 2.

history.go(1) 3.

在FCKeditor中自定义表情图片的步骤是什么?答案参见教材13.2.3 在FCKeditor中自定义字体大小的方法是什么?答案参见教材13.2.3 在FORM表单中如何使用在线编辑器FCKeditor?答案参见教材13.2.4 4.

答案参见教材13.4.4 5.

答案参见教材13.4.5 6.

JavaScript表单弹出对话框的函数是alert函数,获得输入焦点的函数是focus函数 7.

JavaScript的重定向函数是什么?答案参见教材11.1.2 怎样引入一个外部JS文件?

方法是: