Въпрос относно дума в дума

GameZone

Registered
Как ще стане така когато имам да кажем Test и търся Te и като ми излезе Test да излезе по следния начин: Test
 
GameZone каза:
Не ми помагаш
е това оцветява намереното т.е. ако си написал "чушка" а във резултата е "червена чушка" ще огради чушка в някакъв цвят
 
И ти не ни помагаш много с въпроса си.

Това "Test" къде го търсиш?
В променлива ли е, в база данни ли е, във файл ли е?
 
Просто при изкарването на резултатите ще минаваш през един str_replace();
$get = "re"; // тук ще си вземеш променливата с $_GET
echo str_replace($get,"<span style=\"background-color: #FF0000;padding: 3px;\">".$get."</span>",$row['username'])."<br />";

П.П. Ето ти едно цяло примерче
if (isset($_GET['q']) && !empty($_GET['q'])) { // проверяваме дали има сетната променлива
$search = htmlspecialchars(addslashes($_GET['q'])); // филтрираме данните и пускаме заявката
$search_query = mysql_query("SELECT `username` FROM `table` WHERE `username` LIKE '%".$search."%'")or die(mysql_error());
while ($search_result = mysql_fetch_assoc($search_query)) { // ако има резултати от търсенете
$replace = "<span style=\"font-weight: bold;\">".$search."</span>"; // това го оставям на твоето въображение
echo str_replace($search,$replace,$search_result['username'])."<br />";
}
}
 
Replace става но има един проблем :(

Когато ми покаже намерените неща:
Пример:
Търся: re
Намира ми всичките само проблема е че оцветява всички re а не [/b]Re[/b] аз искам всички който съдържат re няма значение дали са малки букви или големи :)

Благодаря за разбирането
 
Несам сигорен дали така ще стане, но пробвай :

Ако стане точката дай на Replace, ползвам неговият код, само го преработвам

Код:
<?
if (isset($_GET['q']) && !empty($_GET['q'])) { // проверяваме дали има сетната променлива
$search = htmlspecialchars(addslashes($_GET['q'])); // филтрираме данните и пускаме заявката
$search_query = mysql_query("SELECT `username` FROM `table` WHERE `username` LIKE '%".$search."%'")or die(mysql_error());
while ($search_result = mysql_fetch_assoc($search_query)) { // ако има резултати от търсенете
$replace = "<b>".$search."</b>"; // това го оставям на твоето въображение
$rep=str_replace($search,$replace,$search_result['username']);
$new=explode("$search", $rep);
$f=explode("<b>", $rep);
$f2=explode("</b>", $f[1]);
echo "<b>$f2[0]</b>$new[1]";
}
}
?>
:)
 
Всъщност можеш да ползваш и str_ireplace ; )
т.е. в кода по-горе ,просто заместваш str_replace , със str_ireplace
 

Back
Горе