Jump to content

How do you selectively BOLD output array elements from three arrays?


geomc

Recommended Posts

How do you selectively BOLD output array elements from three arrays?

My code has only one output line. I am creating a madlib php program

and I want my nouns to be in bold, my verbs to be italicized, and my

adjectives to be underlined. Where would I implement this? Thanks.

 

Here is my code:

 

$counter=0;
$nounCounter=0;
$verbCounter=0;
$adjCounter=0;
$newSentArray = $sentArray; // copy $sentArray
while ( $counter < count($sentArray)) // loop over words in array
{
     if($sentArray[$counter] == "NOUN" or $sentArray[$counter] == "NOUN." or $sentArray[$counter] == "NOUN!")
     {
         // replace current word with noun
         $newSentArray[$counter] = $nounArray[$nounCounter];
         $nounCounter++; // increment noun, so next noun in used for replacement
     }
        

    elseif($sentArray[$counter] == "VERB" or $sentArray[$counter] == "VERB." or $sentArray[$counter] == "VERB!")
    {
         // replace current word with verb
         $newSentArray[$counter] = $verbArray[$verbCounter];
         $verbCounter++; // increment verb, so next verb in used for replacement
    }

    elseif($sentArray[$counter] == "ADJECTIVE" or $sentArray[$counter] == "ADJECTIVE." or $sentArray[$counter] ==  

   "ADJECTIVE!")
    {
         // replace current word with adjective
         $newSentArray[$counter] = $adjArray[$adjCounter];
         $adjCounter++; // increment adjective, so next adjective in used for replacement
    }
        
     $counter++;
}

// implode words array into a string
echo implode(' ', $newSentArray);

$text = "I bought a NOUN and a NOUN";

$text = str_replace("NOUN", "<span style='font-weight:700'>NOUN</span>", $text);

// now replace NOUNs with cat and dog

and similar for VERB and ADJ

Add the formatting when you replace the NOUN, VERB, or ADJECTIVE placeholders

$newSentArray[$counter] = '<b>'.$nounArray[$nounCounter].'</b>';

$newSentArray[$counter] = '<i>'.$verbArray[$verbCounter].'</i>';

$newSentArray[$counter] = '<u>'.$adjArray[$adjCounter].'</u>';

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.