这里有这个表达式
$data = file_get_contents('groups.txt');
function links1($l1, $l2){echo "<a href='". $l1 ."'><img src='". $l2 ."'/></a>";}
$parsed1 = get_string_between($data, "[Group1]", "[/Group1]");
$data = explode("'n", $parsed1);
foreach($data as $string2){
list($l1, $l2) = explode(' ', $string2);
links1($l1, $l2);}}
我有一个get_string_between定义为上面的函数,可以获取"[Group1]"answers"[/Group1]"之间的任何内容。文本文件组包含以下内容:
[Group1]
aaa 1.png
bbb 2.jpg
[/Group1]
问题是,当我运行这个时,它输出为
<a href=''><img src=''/></a><a href='aaa'><img src='1.png'/></a><a href='bbb'><img src='2.jpg'/></a><a href=''><img src=''/></a>
所以我得到了这两个空白的空格它们被添加到
之间的任何内容的前后aaa 1.png bbb 2.jpg
我怎样才能解决这个问题?基本上,我可以从输出开始和返回去除<a href=''><img src=''/>
吗?
谢谢!
编辑:添加get_string_between函数
function get_string_between(){
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
您的get_string_between
函数有几个问题。我已经试着在这里清理了:
function get_string_between($text, $start, $end) {
$n1 = strpos($text, $start);
if ($n1 === false) return '';
$n1 += strlen($start);
$n2 = strpos($text, $end, $n1);
if ($n2 === false) return substr($text, $n1);
return substr($text, $n1, $n2 - $n1);
}
希望这篇文章能帮到你。