0

我有一个使用 ACF 自定义字段的 wordpress 网站。我有一个包含大约 100 行文本的自定义字段。日期和这样的文本:

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,前 50 行在一个 div 中,其余行在另一个 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>

它完美无缺!但我希望每一行分别获取文本的日期,将日期放在一个 div 中,将文本放在另一个 div 中......就像这样:

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

但我找不到如何编写代码,获得第一个 php 代码,以及下一个在行内拆分...我听说过子字符串,我尝试了一切,但它不起作用...有人可以帮助我吗?真的很棒!我希望你能理解我!多谢

马蒂厄

4

2 回答 2

1

只需使用:

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

$test[0]将与日期,并在$test[1]你将有其余的行。

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

于 2013-10-01T20:54:55.793 回答
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; ?>
于 2013-10-01T20:59:36.920 回答