如何使用substr从行中提取文本?

时间:2012-09-26 18:46:08

标签: php string function substr

我想使用PHP中的substr方法从文本文件中提取2条信息。一些样本行如下

 CON8101 Residential Building/Estimating 6 hrs/w 
 CON8411 Construction Materials I 4 hrs/w
 CON8430 Computers and You 4 hrs/w

我需要提取每门课程所需的小时数。我写的函数是否正确从行后面提取数字?我想出了这个功能:

            function GetCourseHours($couseList)
    {//using 7 character placements from the end, taking 1 value (number)
        $courseHours = substr(courseList, -7, 1);
    }

接下来,提取除了hrs / w的数量之外的所有内容,例如 CON8101住宅楼/估算。我不确定如何在substr中表示从行中提取最后7个字符空格。仅获取课程名称和ID。

            function GetCourseName($courseList)
    {//how do I only emit the last 7 placements of the txt string?
        $courseName = substr(courseList, ..., ...)
    }

2 个答案:

答案 0 :(得分:1)

PHP documentation on substr涵盖了您需要了解的有关其行为的所有信息:

function GetCourseName($courseList)
{
    $courseName = substr($courseList, 0, -7);
}

该申请文件的相关部分是:

  

如果给出了长度(第三个参数)并且为负数,则会有多个字符   从字符串的末尾省略(在起始位置之后)   当开始为负时计算。)

答案 1 :(得分:0)

首先是正确的,第二次使用这个 $ courseName = substr($ courseList,0,strlen($ courseList)-7); 见http://us.php.net/manual/en/function.substr.php