我有这个字符串:galery / 1_ abc def _ 120 .jpg
我如何获得:
$ description =“ abc def ”; //第一个下划线_和第二个下划线_
之间的字符$ price = 120 ; //第二个下划线_和点之间的数字。
我想到了preg_split,但我不知道如何使用它
答案 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
?>