Skip a word
3 posts by 2 authors in: Forums > CMS Builder
Last Post: April 10, 2013 (RSS)
By Kenny - April 9, 2013 - edited: April 9, 2013
I want to be a little creative with some CSS and have text that shows the first word in a different color. I have established two CSS Classes for the colors and divided up the "Title" using the MaxWords script
function maxWords($textOrHtml, $maxWords) {
$text = strip_tags($textOrHtml);
$words = preg_split("/\s+/", $text, $maxWords+1);
if (count($words) > $maxWords) { unset($words[$maxWords]); }
$output = join(' ', $words);
return $output;
}
and then in the page code
<span class="red-title"><?php echo maxWords($record['title'], 1) ?></span> <span class="black-title"><?php echo htmlencode($record['title']) ?></span>
Now, the problem I face with that is that it shows the first word over again in the second instance. I am thinking I need to skip the first word of the title in the second instance so my titles show up like this:
Service and Support
Any ideas on how this could be accomplished?
I have tried using (with no luck as this only removes the first letter)
<?php echo substr($record['title'], 1) ?>
By Djulia - April 10, 2013 - edited: April 10, 2013
Hi,
An example here:
$str = maxWords($record['title'], 10);
$newTitle = explode(" ", trim($str), 2);
$str1 = '<b style="color:red">' . $newTitle[0] . '</b>';
if (isset($newTitle[1])) { $str2 = '<i>' . $newTitle[1] . '</i>'; }
else { $str2 = ''; }
$newTitle = $str1 . $str2;
echo $newTitle;
Hope that helps!
Djulia