3v4l.org

run code in 300+ PHP versions simultaneously
<?php $mysql_result[0]['id']="1"; $mysql_result[0]['address']="www.example.com/page1"; $mysql_result[0]['title']="Page 1"; $mysql_result[0]['content']="The quick dog jumps over the lazy dog."; $mysql_result[0]['image']="image1.jpg"; $mysql_result[1]['id']="2"; $mysql_result[1]['address']="www.example.com/page2"; $mysql_result[1]['title']="Page 2"; $mysql_result[1]['content']="The best thing about morning is breakfast."; $mysql_result[1]['image']="image2.jpg"; $mysql_result[2]['id']="3"; $mysql_result[2]['address']="www.example.com/page3"; $mysql_result[2]['title']="Page 3"; $mysql_result[2]['content']="Hotdogs are great ballpark food."; $mysql_result[2]['image']="image3.jpg"; // instead of the above initialization which i made by hand for demonstration, // you need to initialize the variable $mysql_result with data // from your DB like this // // $inc = 0; // while($results = $result->fetch_array(MYSQLI_ASSOC)) // { // $mysql_result[$inc]=$results; // $inc++; // } $query="dog"; $chars_to_show_before = 10; // ...1234567890dog $chars_to_show_after = 10; // dog1234567890... foreach($mysql_result as $results) { $content = str_replace($query,"my_un1qu3_r3pl4c3m3nt_".$query,$results['content']); $occurences = explode("my_un1qu3_r3pl4c3m3nt_",$content); $position_in_original_content = 0; foreach($occurences as $an_occurence) { if (strpos($an_occurence,$query) !== false) { $content=$an_occurence; echo '<li class="media"> <a class="pull-left" href="'.$results['address'].'"> <img class="media-object thumbnail" src="'.$results['image'].'" style="height:100px !important"> </a> <div class="media-body"> <h4 class="media-heading"><a href="'.$results['address'].'">'.$results['title'].'</a></h4> <p>...'.str_replace($query,'<strong>'.$query.'</strong>', substr($results['content'],max(0,($position_in_original_content-$chars_to_show_before)),strlen(strlen($query))+$chars_to_show_after+$chars_to_show_before)).'...</p> </div> </li>'; } $position_in_original_content = $position_in_original_content + strlen($an_occurence); } } ?>

preferences:
39.54 ms | 402 KiB | 5 Q