PHP截取一个字符串里某个符号前面的字符串

比如:upload/img/201309/7761380450213.jpg|upload/img/201309/57131380450215.jpg|upload/img/201309/20851380450217.jpg 我只想要第一个|前面的字符串 怎么写?

$a值的长度 ,以及参数个数都是未定的 ..  要去除掉最后一个&符号以及后面所带的参数。

经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数。答案当然是有的。PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为一了。

我们先来看一下PHP substr函数的语法:

string substr(string string, int start, int [length]),参数string为要操作的字符串,参数start为你要截取的字符串的开始位置,若start为负数时,则表示从倒数第start开始截取length个字符。

可选参数length为你要截取的字符串长度,若在使用时不指定则默认取到字符串结尾。若length为负数时,则表示从start开始向右截取到末尾倒数第length个字符的位置。

起初用这个函数时可能感觉到别扭,不过你要是把PHP substr函数的语法搞懂了,那他的功能比asp中的left和right,有过之无不及,非常好用。下面我们举例来看他的用法:

1、从第4个字符开始截取到字符串末尾,类似asp中的left:

<?php $str = "www.icoa.cn"; echo substr($str,4); ?>


输出: icoa.cn

2、PHP substr函数从右边截取3个字符,类似asp中的right:

<?php $str = "www.icoa.cn"; echo substr($str,-3); ?>

输出:.cn

3、PHP substr函数从第4个字符开始截取3个字符:

<?php $str = "www.icoa.cn"; echo substr($str,4,3); ?>

输出:ico

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-29
先获取'|'位置,截取字符串
第2个回答  2013-09-29
最简单的应该是用strstr()函数,如:

echo strstr( '111|aaa|222|bbb', '|', TRUE )
// 输出:111

函数具体说明可以自己去查手册,http://www.php.net/manual/zh/function.stristr.php
第3个回答  2013-09-29
$ary = explode('|',$url,2);
$str = $ary[0];
第4个回答  2013-09-29
方法有很多种 随便给你搞个吧
$yourstr='yourneed|youad|something';
$arr=explode('|',$yourstr);
$yourneed=$arr[0];本回答被提问者采纳

怎么写PHP截取一个字符串里某个符号前面的字符串?
string substr(string string, int start, int [length]),参数string为要操作的字符串,参数start为你要截取的字符串的开始位置,若start为负数时,则表示从倒数第start开始截取length个字符。可选参数length为你要截取的字符串长度,若在使用时不指定则默认取到字符串结尾。若length为负数时,则表示从s...

php如何提取字符串前几位
length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。(学习视频推荐:php视频教程)实现代码:<php $str = "123456789"echo substr($str , 0 , 3);\/\/从左边第一位字符起截取3位字符:结果:123echo substr($str , 3 , 3);\/\/从左边第3位字符起截取3位字符:结果:45...

php截取一段字符串中第一个出现的数字或字母前面的字符串的语句怎么写...
preg = '\/^([^a-z0-9]*)\/i';preg_match($preg, $str, $matchs);echo $matchs[0];

PHP截取某个字符串前面的数字
编写一个PHP函数,专门用于提取字符串中某个字符前的所有数字。函数定义如下:function getNumbersBeforeChar($string, $char) { pattern = '\/(d+)(?=' . preg_quote($char) . ')\/';preg_match($pattern, $string, $matches);return isset($matches[1]) ? $matches[1] : '';} 举例说明...

有一个字段 php中 我想截取这个字段中某个字符之前的文字 请问如何写...
可以结合substr函数及strrpos函数使用,即用以下表达式即可获得新的a值:newa = substr($a,0,strrpos($a,'&')); \/\/新的$a值 比如:substr("123456777778",0,strrpos("123456777778",'7'))结果应该是否123456 参考:http:\/\/zhidao.baidu.com\/question\/281745831.html ...

php 截取字符 前面两个字
建议用正则 str = '提问:你是谁啊?';if ( preg_match('\/^提问*\/i', $str ) ) {}

php截取一段字符串中第一个出现的数字或字母或冒号前面的中文汉字的语...
string= preg_replace('\/([a-z0-9\\:])+\/','',$string1);这样就把数字 字母 冒号后面的字符串去掉了

php如何截取逗号之前的字符
Regex = '#([^,]+)#is';preg_match($Regex,$foo,$result);echo $result[1]; \/\/输出结果:aaaaaa答案2:用分割字符串-》foo = explode(',',$foo);echo $foo[0]; \/\/输出结果:aaaaaa答案3:用寻找和截取字符串-》echo substr($foo,0,$index); \/\/输出结果:aaaaaa 后置::...

PHP中如何用正则表达式分离出某个关键词前后的文字?
function cnsubstr($str,$strlen=10) {\/\/截取函数 if(empty($str)||!is_numeric($strlen)){ return false;} if(strlen($str)<=$strlen){ return $str;} \/\/得到第$length个字符 并判断是否为非中文 若为非中文 \/\/直接返回$length长的字符串 last_word_needed=substr($str,$strlen-1,1)...

php如何得到一个字符串的前两个字符是什么
使用php原有的substr()函数就可以了。用法:设要截取的字符串是$str,则设截取到的结果是$substr 那么 substr=substr($str,2);这样子$substr 就是截取到的前两个字符了。

相似回答