我的网址可以是绝对的或相对的:
$rel = "date/album/001.jpg";
$abs = "http://www.site.com/date/album/image.jpg";
function getFilename($url) {
$imgName = explode("/", $url);
$imgName = $imgName[count($imgName) - 1];
echo $imgName;
}
Run Code Online (Sandbox Code Playgroud)
必须有更快的方法来做到这一点吗?可能是reg表达式?但这对我来说是中国人..
我正在寻找一个explode类型函数,它将按字符分解字符串,但如果字符在其中,则还要取一个字符列表来忽略.
例如:
$str = "hello, this is, a test 'some, string' thanks";
explode_func($str, ",", "'");
Run Code Online (Sandbox Code Playgroud)
这会爆炸$str,,但忽略任何,内部'
预期产量:
Array
(
[0] => hello
[1] => this is
[2] => a test
[3] => thanks
)
Run Code Online (Sandbox Code Playgroud)
另一个例子是:
$str = "hello, this is, a test (some, string) thanks";
explode_func($str, ",", "()");
Run Code Online (Sandbox Code Playgroud)
这会爆炸$str的,,但忽略任何,之间(,并)得到相同的输出.
有任何想法吗?
我有2个数组,我希望使用PHP在数组1中找到一个值.
我意识到我必须使用PHP explode函数,但我担心这是我的技能结束的地方.
我的函数会比较两个数组的值,如果它$needle在里面找到任何值$haystack,它会将它们返回到内部$found.它可能会找到多个,所以也许$found应该是一个数组呢?
$needle = "Swimming,Landscaping,Gardening,Bricklaying,3D Modelling";
$haystack = "Football,Rugby,Landscaping,3D Modelling";
$found = magicFunction($needle,$haystick);
// $found['0'] = "Landscaping";
// $found['1'] = "3D Modelling";
Run Code Online (Sandbox Code Playgroud)
这有意义吗?
非常感谢您对此的任何指示.
我有一个简单的文本文件(见下文).
abc|1356243309
zzz|1356239986
yyy|1356242423
Run Code Online (Sandbox Code Playgroud)
我想在|之前简单地提取所有名称.所以输出应该如下:
abc
zzz
yyy
Run Code Online (Sandbox Code Playgroud)
下面是我试图使用的字符串.我也试过文件('visitornames.txt')等.我不确定我做错了什么:(.尝试了很多东西.
$string = file_get_contents('visitornames.txt');
$names = explode('|', $string);
foreach($names as $key) {
echo $key . '"<br/>';
}
Run Code Online (Sandbox Code Playgroud)
没有错误,但它没有正确地做到这一点.
对于我的项目,我需要分析不同的句子,并通过确定它们是否以问号结束来确定哪些是问题.
所以我尝试使用explode,但它不支持多个分隔符.我暂时将所有标点符号替换为chr(1),以便我可以爆炸所有句子,无论它们以什么结束(.,!,?等等).
然后我需要找到每个句子的最后一个字母,但是爆炸功能已经删除了所有的标点符号,所以我需要一些方法将它放回去.
我花了很长时间才解决问题,但最终我解决了这个问题.我在这里发布我的解决方案,以便其他人可以使用它.
所以我有一个博客系统,并且我想为“相关新闻”构建一个部分,我不是在建立“标签”系统,而只是在其中搜索和存储文章的当前标题(从数据库中提取)。一个字符串并将其展开,以便以后可以将所有单词放入查询中,该稍后查询将在数据库中搜索所有标题以找到这些单词中的任何一个,如果匹配,它将在列表中返回标题。以下是相关代码:
// note to stackoverflow peeps, $row_object_title is just the title that is pulled form the database
$row_object_title_lower = strtolower($row_object_title);
$keywords = explode(" ",$row_object_title_lower);
Run Code Online (Sandbox Code Playgroud)
稍后在页面上运行的代码:
$keywords_imploded = implode("','",$keywords);
$myquery = sql_query("SELECT object_title FROM table WHERE object_title IN ('$keywords_imploded')
Run Code Online (Sandbox Code Playgroud)
现在,我尝试通过打印出标题来列出标题,但是什么也没有显示。
我确定数据库中有匹配的标题。
谢谢
如果我有一个字符串BA00008424BA00008425BA00008426.我怎样才能将这些爆炸成:
从这个例子..
$pizza = "piece1|piece2|piece3|piece4|piece5|piece6";
$pieces = explode("|", $pizza);
Run Code Online (Sandbox Code Playgroud)
在这里,他们用" | " 爆炸,但我想在下一个" BA " 之后爆炸.
提前致谢!:)
这是我在PHP中的内容:
我需要爆炸给定的变量
$a = "hello~world";
Run Code Online (Sandbox Code Playgroud)
我需要爆炸
$first = "hello";
$second = "world";
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点 ??
这是我到目前为止所尝试的.
<?php
$str = "a~b";
$a = (explode("~",$str));
$b = (explode("~",$str));
echo explode('.', 'a.b');
?>
Run Code Online (Sandbox Code Playgroud)
我知道我做错了.我的错是什么,我该如何解决这个问题?
我想从这个字符串创建一个数组,存储在数据库中:
$string = '"2148" => "50","2050" => "2","2403" => "1"';
$id_values = explode('=> "', $string);
foreach($id_values as $id => $value)
{
$value_to_print .= '<img src="images/item_values/'.$id.'.gif"> - '.$value.'';
}
echo $value_to_print;
Run Code Online (Sandbox Code Playgroud)
手动定义数组按预期工作:
$id_values = array("2148" => "50","2050" => "2","2403" => "1");
Run Code Online (Sandbox Code Playgroud) 我有这样的字符串 "data:image/jpeg;base64,/9j/4AAQS...","data:image/jpeg;base64,/9j/4AAQS","data:image/jpeg;base64,/9j/4AAQS"
我想要做的就是爆炸它","
就像这样:
$str = explode(" \",\" ",$str);
Run Code Online (Sandbox Code Playgroud)
但这似乎不是工作,我错了什么?