Php 字符串搜索和拆分
所以我有下面的字符串Php 字符串搜索和拆分,php,html,Php,Html,所以我有下面的字符串 /home/design/Baie/Design-Interior-Baie-019.jpg 现在有没有一种方法可以搜索单词Baie并返回如下字符串: /home/design/Baie/ 我正在尝试构建一个面包屑,您可以使用dirname返回您要查找的内容 echo dirname'/home/design/Baie/design-Interior-Baie-019.jpg'; 或PHP $abcd = "/home/design/Baie/Design-Interi
/home/design/Baie/Design-Interior-Baie-019.jpg
现在有没有一种方法可以搜索单词Baie并返回如下字符串:
/home/design/Baie/
我正在尝试构建一个面包屑,您可以使用dirname返回您要查找的内容
echo dirname'/home/design/Baie/design-Interior-Baie-019.jpg';
或PHP
$abcd = "/home/design/Baie/Design-Interior-Baie-019.jpg";
$xyz = explode('Design', $abcd);
print_r($xyz)
在PHP中,假设面包屑在路径中第一次出现Baie时结束:
$search = "Baie" ;
$path = "/home/design/Baie/Design-Interior-Baie-019.jpg" ;
$breadcrumb = substr($path, 0, stripos($path, $search . "/")+strlen($search)+1 );
print $breadcrumb ;
使用函数
dirname('/home/design/Baie/Design-Interior-Baie-019.jpg');
或者你也可以试试
<?php
$word = 'Baie';
$string = "/home/design/Baie/Design-Interior-Baie-019.jpg";
$bread = explode( "$word", $string);
echo $bread[0]."/$word/";
?>
在带有indexOf和slice的JavaScript中:
var str = "/home/design/Baie/Design-Interior-Baie-019.jpg";
var search = "Baie"
if (str.indexOf(search) != -1 )
var result = str.slice(0,str.indexOf(search)+search.length+1);
console.log(result); // /home/design/Baie/
正则表达式呢
<?php
$array=[];
$path="/home/design/Baie/Design-Interior-Baie-019.jpg"
$pattern = "#^(.*/Baie)/.*$#";
preg_match($pattern,$path, $matchx);
echo $match[1];
?>
如果希望第一次出现,请使用:
$path = "/home/design/Baie/Design-Interior-Baie-019.jpg";
$find = "Baie";
$pos = strpos($path,$find);
然后,要获得前半部分,可以使用substr:
$newstr = substr($path, 0, $pos + strlen($find));
echo $newstr;
这将导致:
/home/design/Baie
另见:
您是否总是想要搜索的单词的第一个实例?e、 在本例中,g.Baie在字符串中出现两次。此外,您是否只想在分隔符/word/之间匹配整个单词,或仅匹配单词的任何实例?您可以使用explode“Baie”、“/home/design/Baie/design-Interior-Baie-019.jpg”[0]作为示例,我认为我的解决方案会起作用,但你需要更具体一些才能得到一个好的答案。你是在寻找JavaScript还是PHP的解决方案?很抱歉,我在中有js标记,我需要使用PHP回答phpI的问题。你也可以试一下,将dirname保留最后一个/?你应该解释你的代码。仅仅在没有任何解释的情况下将一些代码塞进一个答案,对OP或本期的任何未来观众都没有帮助。
$newstr = substr($path, 0, $pos + strlen($find));
echo $newstr;
/home/design/Baie