将一个字符串拆分为两个div,并在字符串php中拆分

时间:2013-10-01 20:49:07

标签: php string wordpress split custom-fields

我有一个使用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

首先,我想在两个独立的div中分割字段(称为“projets”),一个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>

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

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

但是我找不到如何编写代码,拥有第一个PHP代码,然后分割内线...我听说有关子串,我试过eveything但是它不起作用...... 有谁能够帮我 ?会真的很棒! 我希望你能理解我! 非常感谢

Mattieu

2 个答案:

答案 0 :(得分:1)

只需使用:

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

$test[0]将包含日期,在$test[1]中,您将拥有其余的一行。

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

答案 1 :(得分: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; ?>