PHP:在特定点之后插入html

时间:2013-05-10 18:50:30

标签: php html insert

我有以下HTML:

<aside>
    <p class="opentime">10 - 16</p>
    <p class="clocknote">Hours</p>
</aside>

10 16 之后,我想要添加以下代码:

<span>00</span>

所以它看起来像这样:

<aside>
    <p class="opentime">10<span>00</span> - 16<span>00</span></p>
    <p class="clocknote">Hours</p>
</aside>

span 标签应仅在带有 opentime 类的 p 标签之后插入。

是否有任何PHP代码可以实现这一目标?


PHP中的实际代码如下:

<?php $main_r_t = $pages->find('response_times/main/') ?>
<?php $r_t = $pages->find('response_times/times.txt') ?>

<aside>
   <p class="opentime"><?php echo $r_t->mo_time_1() ?></p>
   <p class="clocknote"><?php echo $main_r_t->clock() ?></p>
   <p class="opentime"><?php echo $r_t->mo_time_2() ?></p>
   <p class="clocknote"><?php echo $main_r_t->clock() ?></p>
</aside>

文本文件如下:

mo_time_1: 10 - 12
----
mo_time_2: 13 - 19
----

2 个答案:

答案 0 :(得分:1)

如果你想用纯PHP做(我不知道Kirby的功能/限制是什么),你可以这样做:

$mo_time = $r_t->mo_time_1();
$time = explode(" - ", $mo_time);
echo "<p class='opentime'>" . $time[0] . "<span>:00</span> - " . $time[1] . "<span>:00</span></p>";

这未经过测试,也没有错误检查......这取决于你:)

答案 1 :(得分:0)

这样做

var text = $(".opentime").html();

var splitString = text.split(" ");
var newstr = splitString[0]+"<span>00</span>"+"-"+splitString[1]+"<span>00</span>";

$(".opentime").html(newstr);