php获取字符串之间,如何在PHP中获取两个字符串之间的子字符串?

我需要一个函数来返回两个单词(或两个字符)之间的子串.

我想知道是否有一个PHP功能实现了这一点.我不想考虑正则表达式(好吧,我可以做一个,但真的不认为这是最好的方式).考虑strpos和substr函数.

这是一个例子:

$string = "foo I wanna a cake foo";

我们调用函数:$substring = getInnerSubstring($string,“foo”);

它回归:“我想要一块蛋糕”.

提前致谢.

更新:

好吧,到现在为止,我只能在一个字符串中得到一个子串两个字,你是否允许让我走得更远,并问我是否可以扩展使用getInnerSubstring($str,$delim)来获取任何字符串在delim值之间,例如:

$string =" foo I like php foo, but foo I also like asp foo, foo I feel hero foo";

我得到一个像{“我喜欢php”,“我也喜欢asp”,“我感觉英雄”这样的数组.

解决方法:

如果字符串不同(即:[foo]& [/ foo]),请查看Justin Cook的this post.

我复制下面的代码:

function get_string_between($string, $start, $end){

$string = ' ' . $string;

$ini = strpos($string, $start);

if ($ini == 0) return '';

$ini += strlen($start);

$len = strpos($string, $end, $ini) - $ini;

return substr($string, $ini, $len);

}

$fullstring = 'this is my [tag]dog[/tag]';

$parsed = get_string_between($fullstring, '[tag]', '[/tag]');

echo $parsed; // (result = dog)

标签:php,substring

来源: https://codeday.me/bug/20190911/1803983.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值