在PHP标记内使用site_url()回显图像标记

I have a loop in my view that outputs all the content gathered from the database:

<?php foreach($content as $contentRow): ?>
     <?php
          echo $contentRow->value; 
     ?>  
<?php endforeach; ?>

This works fine for HTML strings like:

<h2><strong>Example Text</strong></h2>

however I have some image content that I would like to display and I have tried the following database entries to no avail:

<img src="<?php echo site_url('pathToImage/Image.png'); ?>" alt="Cover">"
<img src="site_url('pathToImage/Image.png')" alt="Cover\">"

I feel like I am missing a step on how to use PHP values in this way.

How do I access the URL of the image and use that to show the image?


Full Code Edit

<?php
    $CI =& get_instance();
?>

<div class="container">

    <div class="row">        
        <div class="col-md-9">
            <div class="col-md-2"></div>
            <div class="col-md-20">
                <!--<form class="form-center" method="post" action="<?php echo site_url(''); ?>" role="form">-->
<!--                    <h2 class="">Title</h2>
                    <h2 class=""SubTitle/h2>-->
                    <?php echo $this->session->userdata('someValue'); ?>

                    <!--//<table class="" id="">-->

                        <?php foreach($content as $contentRow): ?>
                        <tr>
                            <td><?php
                            echo $contentRow->value; 
                            ?></td>                            
                        </tr>
                        <?php endforeach; ?>
                    <!--</table>-->

                <!--</form>-->
            </div>

            <div class="col-md-2"></div>

        </div>
    </div>

</div><!-- /.container -->

and the values are being read out in $contentRow->value;

I have to verify this, but to me it looks like you are echo'ing a string with a PHP function. The function site_url() is not executed, but simply displayed. You can execute it by running the eval() function. But I have to add this function can be very dangerous and its use is not recommended.

Update: To sum up some comments: The use of eval() is discouraged! You should reconsider / rethink your design. Maybe the use of tags which are replaced by HTML are a solution (Thanks to Manfred Radlwimmer). Always keep in mind to never trust the data you display, always filter and check!

I'm not going to accept this answer as @Philipp Palmtag's answer helped me out alot more and this is more supplementary information.

Because I'm reading data from the database it seems a sensible place to leave some information about what content is stored. In the same table that the content is stored I have added a "content type" field.

In my view I can then read this content type and render appropriately for the content that is stored. If it is just text I can leave it as HTML markup, images all I need to do is specify the file path and then I can scale this as I see fit.

I have updated my view to something akin to this and the if/else statement can be added to in the future if required:

<?php foreach($content as $contentRow): ?>
   <?php if ($contentRow->type != "image"): ?>
      <?php echo $contentRow->value; ?>    
   <?php else: ?>
      <?php echo "<img src=\"".site_url($contentRow->value)."\">"; ?>
   <?php endif; ?>   
<?php endforeach; ?>