我有一些很长的简单文字,我希望在每3个句子后插入<p></p>
个标签。但是,如果少于3个句子,那么scipt必须什么都不做。
例如:
没有虚假的谦虚,我们声明我们拥有最好的员工。而且这不是某种闹剧,小说或某人的邪恶笑话。不,不 - 这是最真诚的事实。我们所有的员工都非常热情,微笑,礼貌,整洁,能干。多亏了这一点,我们的桑拿浴已成功运作多年,为所有客户带来了永久和新的乐趣。来吧,我们很高兴见到你。
我需要:
没有虚假的谦虚,我们声明我们拥有最好的员工。而且这不是某种闹剧,小说或某人的邪恶笑话。不,不 - 这是最真诚的事实。
<p style='color:red'><a href='link' target='_blank'>Click it!</a></p>
我们所有的员工都非常热情,微笑,礼貌,整洁,能干。多亏了这一点,我们的桑拿浴已成功运作多年,为所有客户带来了永久和新的乐趣。来吧,我们很高兴见到你。<p style='color:red'><a href='link' target='_blank'>Click it!</a></p>
这只是一个例子。我写了这样的东西,但它没有正常工作。我不知道我需要做什么。
<?php
$jb=substr_count($personal_text, ".");
$replacement ="<p></p>";
if ($jb<=3) {$personal_text333=str_replace("?","?<p></p>",str_replace(".",".<p></p>",str_replace("!","!<p></p>",$personal_text)));
echo $personal_text333; } else {echo $personal_text333;} ?>
答案 0 :(得分:3)
您可以使用正则表达式将所有内容捕获到一个点三次。
<?php
$posts_args = array(
'post_type' => 'products',
'posts_per_page' => 7,
'meta_key' => 'smount_post_views', //name your post meta
'orderby' => 'meta_value_num',
'order' => 'DESC'
);
$posts_query = new WP_Query( $posts_args );
if( $posts_query->have_posts() ):
while( $posts_query->have_posts() ): $posts_query->the_post();
get_template_part( 'template-parts/content', get_post_format() );
endwhile;
endif;
?>
答案 1 :(得分:-1)
您可以将文本拆分为如下数组:
$pieces = explode(".", $personal_text);
然后再将它粘合在一起:
$result = '';
for ($=0; $i<count($pieces); $i++) {
$result .= $pieces[$i];
if ($i % 3 == 0) {
$result .= '<p .../>';
}
}