Jump to content

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

Edited by Barand

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>';
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.