指定字符后的PHP字符串拆分

时间:2017-05-27 15:23:18

标签: php

我有这个字符串:galery / 1_ abc def _ 120 .jpg

我如何获得:

$ description =“ abc def ”; //第一个下划线_和第二个下划线_

之间的字符

$ price = 120 ; //第二个下划线_和点之间的数字。

我想到了preg_split,但我不知道如何使用它

3 个答案:

答案 0 :(得分:0)

$pizza  = "piece1_piece2_piece3";
$pieces = explode("_", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

在你的情况下:

$url = "galery/1_abc def_120.jpg";
$pieces = explode("_", $url);
echo $pieces[0]; //galery/1
echo $pieces[1]; //abc def
echo $pieces[2]; //120.jpg

答案 1 :(得分:0)

您可以使用preg_match功能:

$string = 'galery/1_abc def_120.jpg';

if (preg_match('/_([^_]*)_([0-9]+\.?[0-9]*)/', $string, $matches)) {
   $description = $matches[1];
   $price = $matches[2];
   echo $description . ' ' . $price;
}

答案 2 :(得分:0)

<?php 

$str = "1_abc def_120.jpg";  // Your String

$withoutExt = preg_replace('/\\.[^.\\s]{3,4}$/',"", $str);  // Remove The File Extension

$divstr = explode("_", $withoutExt); 


echo $divstr[1];   //File NAME 

echo "<br>";

echo $price = substr($withoutExt, -3); // Price

?>