- substr: documentation ( source)
- strpos: documentation ( source)
- str_replace: documentation ( source)
- explode: documentation ( source)
<?php
$mysql_result[0]['id']="1";
$mysql_result[1]['id']="2";
$mysql_result[2]['id']="3";
$mysql_result[0]['address']="www.example.com/page1";
$mysql_result[1]['address']="www.example.com/page2";
$mysql_result[2]['address']="www.example.com/page3";
$mysql_result[0]['title']="Page 1";
$mysql_result[1]['title']="Page 2";
$mysql_result[2]['title']="Page 3";
$mysql_result[0]['content']="The quick dog jumps over the lazy dog.";
$mysql_result[1]['content']="The best thing about morning is breakfast.";
$mysql_result[2]['content']="Hotdogs are great ballpark food.";
$mysql_result[0]['image']="image1.jpg";
$mysql_result[1]['image']="image2.jpg";
$mysql_result[2]['image']="image3.jpg";
$query="dog";
$chars_to_show_before = 10;
$chars_to_show_after = 10;
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'],$position_in_original_content-$chars_to_show_before,strlen(strlen($query))+$chars_to_show_after+$chars_to_show_before)).'...</p>
</div>'.($position_in_original_content-0).' and '.(strlen($an_occurence)+0).'
</li>';
}
}
}