¿Se supone que el resultado de tu búsqueda está dentro de las filas de la tabla, cierto? (donde pones Apellido, Nombre, etc...).
Es allí donde debes usar el str_replace.
Personalmente no trabajo con el printf(), así que no estoy segura de dónde allí debiera ir la función de reemplazo. Viendo el código pensé que podría ir algo así:
Código PHP:
//Leemos y escribimos los registros de la página actual
while($row = mysql_fetch_array($_pagi_result))
{
str_replace($nombre, "<span class='resaltado'>$nombre</span>", printf("
<tr>
<th>%s</th>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
</tr>
",
$row["Apellido"],
$row["Nombre"],
$row["Nacimiento"],
$row["Fallecimiento"],
$row["Edadfallece"],
$row["Tiempofallece"],
$row["Edadhoy"],
$row["Url"]
);
}
mysql_free_result($_pagi_result);
mysql_close($link);
Pero yo igual lo hallo medio extraño, como te dije, no sé cómo funciona esta printf()... Yo cuando hago esto me voy campo por campo mostrando, y a cada cual le aplicaría la str_replace, algo como:
Código PHP:
//Leemos y escribimos los registros de la página actual
while($row = mysql_fetch_array($_pagi_result))
{
print" <tr>\n";
// Aplico el reemplazo al resultado Campo por Campo
// y de paso lo voy imprimiendo en su respectiva celda:
for ($i = 0; $i < count(mysql_num_fields($_pagi_result)); $i++)
{ print" <td>".str_replace($nombre, "<span class='resaltado'>$nombre</span>", $row[$i])."</td>\n"; }
print" </tr>\n";
} //---Fin del While---
mysql_free_result($_pagi_result);
mysql_close($link);
PD: Importante al usar el método que muestro al final es que los campos de la consulta estén en el mismo orden que cómo los mostrarás en tu tabla, claro.