2011-09-24 82 views
0

我这里这个表达式帮助与列表输出

$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如上一个函数得到之间“[组别1]”和“[/组别1]”任何东西。 文本文件组中包含的东西:

[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); 
+0

也许你的'get_string_between'不工作,你认为它是如何运作的?你可以发布该功能吗? –

+0

我已将'get_string_between'函数添加为编辑。 – wtz

回答

1

有几个问题你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); 
} 

希望这会帮助/引导你在正确的方向。

+0

哈哈感谢这!我通过修改最后一行来解决我的问题,比如'return substr($ text,($ n1 + 1),($ n2 - $ n1-2));' – wtz