0

I know this is a simple question but how can i output an image in an array, for example i have a input field and button, so whenever the user enters data and clicks submit it returns a pop-up window with something like "Thanks for subscribing" etc, i want to replace this text with an image, i have currently tried the following but it is just printing out the path like it is typed.

'uk' => array(
                'thanks' => "<img src='../assets/images/ukregisterimg.jpg'>",
                'error' => 'Something went wrong. Please refresh the page and try again.',
                'no_email' => 'Please provide a valid email address.'
            ),
1
  • How are you echo'ing this to the user? Can you show that bit of code aswell? Commented Feb 26, 2014 at 15:05

2 Answers 2

2

You mean like this? This is no different from accessing info in a multilevel array...

echo $array['uk']['thanks'];

While I'm at it, I suggest you do something like this (the img-part):

'uk' => array(
        'error' => 'Something went wrong. Please refresh the page and try again.',
        'no_email' => 'Please provide a valid email address.',
        'img' => array(
                    'src' => "../assets/images/ukregisterimg.jpg"
                    'alt'=> "Some example alt"
                    )
        )
echo '<img src="'.$array['img']['src'].'" alt="'.$array['img']['alt'].' />';

That way you can add items in the future, like width and height, or title, without needing to rebuild your whole code


For my own knowledge I'd love to know if there is an easy reference in an array to its own values:

'img' => array(
    'src' => "../assets/images/ukregisterimg.jpg"
    'alt'=> "Some example alt",
    'html' => '<img src="'.$this->alt.'" alt="'.$this->alt.'" />' // use current array's values dynamicly
    )
Sign up to request clarification or add additional context in comments.

3 Comments

No Martijn, you cannot reference the array itself that way :/
I know that way doesn't work, it was merely a code hint of what I mean to explain. But I'm not aware of a working version of it. Would be cool. I believe that one of the $_SERVER values refers via a reference
I mean you cannot in any way at all ^^ For instance YAML can, but PHP array syntax cannot [thanks god, to some extent].
0

It looks like the code that actually outputs this data is escaping it via htmlentities() or an equivalent function. You need to modify the code that actually outputs the string so that it does not escape it.

For example if it says print(htmlentities($result['uk']['thanks'])); you would change it to just print($result['uk']['thanks']);

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.