php 怎么截取字符前面几个字符

使用php 正则取出标签内的格式 后面一段是一样的,格式前面的名字是动态的 可能是英文 可能是中文。
需要取出"><span class="entity-icon sprite-list-ic b-in-blk b-ic-book"> 前面的格式
比如 取出的结果是 mp3 小数点不用。 只需要格式就可以。
大神们帮忙写个代码。谢谢

说的是我.mp3"><span class="entity-icon sprite-list-ic b-in-blk b-ic-book">
456saw.wma"><span class="entity-icon sprite-list-ic b-in-blk b-ic-book">
125都是的.mp4"><span class="entity-icon sprite-list-ic b-in-blk b-ic-book">

PHP 中的 substr() 函数可以实现

substr() 函数返回字符串的一部分。

substr(string,start,length)

其中参数的含义:
string 必需。规定要返回其中一部分的字符串。
start 必需。规定在字符串的何处开始。
正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾的指定位置开始
0 - 在字符串中的第一个字符处开始
length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。
正数 - 从 start 参数所在的位置返回
负数 - 从字符串末端返回

注释:如果 start 是负数且 length 小于等于 start,则 length 为 0。
例子1
<?php
echo substr("Hello world!",6);
?>

输出:

world!

例子2

<?php
echo substr("Hello world!",6,5);
?>

输出:

world
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-18
$a = '说的是我.mp3"><span class="entity-icon sprite-list-ic b-in-blk b-ic-book">';
// 不需要正则,将字符串以‘\.’分割,第二个元素就是包含音频文件后缀的字符串($b[1])。
$b = preg_split('/\./', $a);
//strpos确定后缀后面的双引号(“)的位置,下标即为需要截取的字符串长度,
//最后,substr得到的字符串即为你想要得到的音频文件后缀。
$c = substr($b[1], 0, strpos($b[1], '"'));
//var_dump($c);可得,”mp3“

这是基于你给出的字符串得出的结果,如果要求更具体些有可能会需要改动方法。
第2个回答  2013-07-18
substr($str, 2, 4);

$str:字符串变量
2:从第二个开始取
4:取四个值
第3个回答  推荐于2016-04-12
$a = '说的是我.mp3"><span class="entity-icon sprite-list-ic b-in-blk b-ic-book">';
$a = explode('.',$a);
preg_match("/(.*)\">/",$a[1],$met);

$met[1]就是你要的内容

本回答被提问者采纳
第4个回答  推荐于2018-02-23
$str = '说的是我.mp3"><span class="entity-icon sprite-list-ic b-in-blk b-ic-book">
456saw.wma"><span class="entity-icon sprite-list-ic b-in-blk b-ic-book">
125都是的.mp4"><span class="entity-icon sprite-list-ic b-in-blk b-ic-book">';
$re = '/(.+?)\.\w{3,4}\"><span\sclass=\"entity-icon\ssprite-list-ic\sb-in-blk\sb-ic-book/';
preg_match_all($re,$str,$arr);
$musicStr = implode(',',$arr[1]);
echo $musicStr;

本回答被网友采纳