我正在尝试提取一个子字符串。我需要在PHP中做一些帮助。
以下是我正在使用的一些示例字符串以及需要的结果:
$temp = "COM1904150001","1","ytuaioeighalk","tyueiff","assets/report/celc_coba/d02c25b2-5c07-11e9-8f1a-02fd8bf7d052/"
我需要的结果是:
$temp = d02c25b2-5c07-11e9-8f1a-02fd8bf7d052
我想在最后一个'/'处获取字符串
到目前为止,我已经尝试过:
substr($temp, 0, strpos($temp, '/'))
但是,似乎根本没有用。
是否可以使用PHP方法处理这种情况?
答案 0 :(得分:0)
您可以使用explode()
和end()
函数。
说明的步骤:
1)用/
来使字符串爆炸()
2)替换双引号"
。
3)array_filter()
删除空白元素。
4)最后一个元素end()
的{{1}}和最后一个/
之后的空白元素已被删除。
代码:
/
输出:
<?php
$temp = '"COM1904150001","1","ytuaioeighalk","tyueiff","assets/report/celc_coba/d02c25b2-5c07-11e9-8f1a-02fd8bf7d052/"';
$temp = str_replace('"', '', $temp);
$url = explode('/', $temp);
$url = array_filter($url);
$requiredSegment = end($url);
echo '<pre>';
print_r($requiredSegment);
echo '</pre>';
答案 1 :(得分:0)
您可以使用substr()
提取数据,但可以使用strrpos()
来查找最后一个/
位置(尽管如此,您必须删除尾随的/
)
$temp = "assets/report/celc_coba/d02c25b2-5c07-11e9-8f1a-02fd8bf7d052/";
// Trim off trailing / or "
$temp = rtrim($temp, "/\"");
// Return from the position of the last / (+1) to the end of the string
$temp = substr($temp, strrpos($temp, '/')+1);
echo $temp;
给予...
d02c25b2-5c07-11e9-8f1a-02fd8bf7d052
答案 2 :(得分:0)
只需尝试以下代码段
$temp = '"COM1904150001","1","ytuaioeighalk","tyueiff","assets/report/celc_coba/d02c25b2-5c07-11e9-8f1a-02fd8bf7d052/"';
$temp = rtrim(str_replace('celc_coba/','',strstr($temp, 'celc_coba/')), "/\"")
结果
d02c25b2-5c07-11e9-8f1a-02fd8bf7d052
答案 3 :(得分:0)
您可以通过以下方式执行此操作:explode
$str = '"COM1904150001","1","ytuaioeighalk","tyueiff","assets/report/celc_coba/d02c25b2-5c07-11e9-8f1a-02fd8bf7d052/"';
$pieces = explode("/", $str );
示例
$str = '"COM1904150001","1","ytuaioeighalk","tyueiff","assets/report/celc_coba/d02c25b2-5c07-11e9-8f1a-02fd8bf7d052/"';
$pieces = explode("/", $str );
print_r($pieces);
$count= count($pieces);
echo $pieces[$count-2];