2013-10-01 194 views
0

我有一個使用ACF自定義字段的wordpress網站。 我有一個大約100行文字的自定義字段。 日期和這樣的文字:將字符串拆分爲兩個div,並將其拆分爲字符串php

2003-01 PARIS RATP PHILIDOR 
2003-01 BORDEAUX TRAMWAY 
2003-02 ILE-DE-FRANCE ÉCOLE DES MINES 
2003-05 PARIS CITROëN 
2003-05 PARIS TRAVERSIÈRE 

首先我想分裂場(稱爲「projets」)在兩個單獨的div,在一個DIV第50行,而在另一個div的,其餘的: 這裏是我使用的PHP代碼:

<div class="columns_projets_1"> 
<p><?php 
$string = get_field('projets'); 
$array = explode("\n", $string); 
for($i = 0; $i <50; $i++){ 
echo $array[$i]; 
} 
?></p> 
</div> 

<div class="columns_projets_2"> 
<p><?php 
$string = get_field('projets'); 
$array = explode("\n", $string); 
for($i = 50; $i <count($array)-1; $i++){ 
echo $array[$i]; 
} 
?></p> 
</div> 

它完美的工作! 但我想每一行來獲得日期separatly文本,把一個DIV的日期和另一個文本......是這樣的:

<div class="date">2003-01</><div class="text">PARIS RATP PHILIDOR</div> 

,但我怎麼也找不到代碼這,有第一個PHP代碼,並在行內拆分旁邊...我聽說有關子字符串,我試過eveything,但它不工作... 任何人都可以幫助我嗎?會非常棒! 我希望你能理解我! 非常感謝

Mattieu

回答

1

您可以回聲HTML了。 例如:

for($i = 0; $i <50; $i++){ 
    $dateAndText= explode(' ', $array[$i], 2); 
    echo '<div class="date">'.$dateAndText[0].'</div>'; 
    echo '<div class="text">'.$dateAndText[1].'</div>'; 
} 

雖然更清潔的方式來做到這一點會是這樣的:

<?php for($i = 0; $i <50; $i++): 
    $dateAndText = explode(' ', $array[$i], 2); ?> 

    <div class="date"><?php echo $dateAndText[0]; ?></div> 
    <div class="text"><?php echo $dateAndText[1]; ?></div> 

<?php endfor; ?> 
+0

感謝您的幫助,但是當我將自己的代碼添加到自己的代碼中時,出現服務器錯誤...我無法找到我在做什麼錯誤... – user2836404

+0

發佈錯誤,以便我們可以幫助您 –

+0

這裏是我的完整代碼:https://gist.github.com/mattieumoreau/6785369 – user2836404

1

只需使用:

$test = explode(' ', $array[$i], 2); 

$test[0]會的日期,並在$test[1]你將有行的其餘部分。

欲瞭解更多信息: http://php.net/manual/pl/function.explode.php

+0

+1的鏈接手冊。 [所以]不是關於修復代碼,而是知道如何修復自己。 – brasofilo