您好我正在寻找一个与此java代码完全相同的PHP
List<String> strings = Arrays.asList(tempFinalString.replaceAll("^.*?>&", "")
.split("<.*?(>&|$)"));
这会给出一个数组,其中包含两个字符?>
和<
有人可以帮我找到它的确切PHP等价物吗?
我搜索了很多请帮助
答案 0 :(得分:1)
您可以使用pregsplit,它几乎相同并返回字符串列表。
答案 1 :(得分:1)
您可以使用正则表达式
<?php
function getInbetweenStrings($start, $end, $str){
$matches = array();
$regex = "/$start([a-zA-Z0-9_]*)$end/";
preg_match_all($regex, $str, $matches);
return $matches[1];
}
$str = "<asdfasf?>dsdafs<asfasdfasf?>";
$str_arr = getInbetweenStrings('<', '\?>', $str);
print_r($str_arr);
这个问题非常相似:Get substring between two strings PHP
修改
当然,对于不同的参数,您需要更改函数参数: - )
$str = "<abcasdfasf>dsdafs<abcsfasdfasf>";
$str_arr = getInbetweenStrings('<abc', '>', $str);
print_r($str_arr);
另请注意,代码将拆分仅包含特定字符的字符串 - [a-zA-Z0-9 _]。
首先考虑学习正则表达式。
干杯!
答案 2 :(得分:1)
参考此链接
http://forums.devshed.com/php-development-5/values-string-tags-578670.html
并改变你的代码,
preg_match_all("#<abc([^<]+)>#", $yourstring, $ansvariable);
//echo implode("::", $ansvariable[1]);
foreach($yourstring[1] as $key => $val){
echo $yourstring[1][$key]."<br>"; // prints $val
}