-2

我有一个像博客这样的帖子,我想改变第一个单词的颜色。例如,我有类似的标题Test Post,我只想更改 的颜色Test而不更改 的颜色Post

我有一个代码:

 <?php
   $title = get_the_title();
   $title_array = explode(' ', $title);
 ?>
 <h2>
   <span class="yellow">
     <?php echo $title_array[0] ?>
   </span>
     <?php echo $title_array[1] ?>
 </h2>

代码生成的HTML:

<h2><strong><a href="http://credexpert/test-post/" title="Permalink to test post raam naam" rel="bookmark"><span class="yellow"> test</span> Array</a></strong></h2>

代码工作正常,但是当标题很长时问题就来了,假设标题是Test Post for Content Box

有没有办法用短代码打印剩余的数组array[1] to array[n]

4

2 回答 2

2

您可以循环执行此操作

1,要么通过for循环

for($a = 0; $a<count($array);$a++)
{
 echo $title_array[$a] ;

}

2,或者foreach像循环一样

foreeach($title_array as $item){
   echo $item;
}

3,或while循环

$a= 0;
while($a<count($title_array)){
  echo $title_array[$a] ;
  $a++;
}

4,或通过递归

哇哇哇,我认为以上三种方法就足够了

正如@Voitcus 告诉你应该在行尾使用分号它的好习惯,这并不意味着我们应该在循环之后使用它(在某些情况下除外)或者如果

于 2013-03-19T07:26:00.693 回答
1

首先,你忘了在 s;的末尾加分号echo

你可以使用

$title_array = explode(' ', $title,2);

这将导致您得到两个字符串:第一个是第一个单词,另一个是其余的。

请参阅手册中的爆炸

于 2013-03-19T07:28:09.877 回答