2011-09-24 80 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