webForumDet fria alternativet

Sökproblem...

2 svar · 337 visningar · startad av bassebhu

bassebhuMedlem sedan nov. 20016 480 inlägg
#1

Hej alla glada!

Jag har ett litet sökscript som delar upp sökorden och söker på samtliga. Det funkar som det ska ända fram tills jag upptäckte att den inte söker på en del konstiga tecken (speciellt om bara de tecknen skrivs i sökrutan), såsom åäö, ', ?, & etc.

Jag använder i nuläget följande:

$sql = "SELECT * FROM tabell WHERE ";
if(isset($_POST['keyword'])) {
	$keyword = $_POST['keyword'];
	$keywordArr = str_word_count($keyword, 1);
	if(!(empty($keywordArr))) {
		for ($i=0; $i<count($keywordArr); $i++) {
			$keywordArr[$i] = "kolumn1 LIKE '%" . $keywordArr[$i] . "%' OR kolumn2 LIKE '%" . $keywordArr[$i] . "%' OR kolumn3 LIKE '%" . $keywordArr[$i] . "%'";
		}
	}
	$sql .= implode(" OR ", $keywordArr) . " AND ";
}
$sql .= "NOT (dold = 0)";

Som jag förstår det så vägrar str_word_count() att godkänna konstiga tecken som ord. Jag hittade något om charlist-parameter, men det verkar inte fungera. Kanske för gammal version av php.

Går det att lösa på något bättre sätt än min variant eller fixa så att str_word_count() funkar som jag har tänkt?
Alla förslag mottages :)

Taxi!

r/ Jag har lite andra sökproblem också tydligen ;) Hittade en tråd här på wF om just åäö i str_word_count(). Jag testade då att lägga till htmlentities på söksträngen, men den hittade inget trots att det finns poster med åäö. Och tecken som t ex fnuttar genererar fortfarande ingen träff. Inte så viktigt kanske, men helst så vill jag att funktionen ska kunna söka på strängar oavsett tecken-innehåll. Om det går?

cenobiteMedlem sedan feb. 20066 inlägg
#2

Testa att använda preg_split istället för str_word_count om du vill definiera vilka tecken som skall agera "avgänsare".

$keywordArr = preg_split("/[\s]+/", $keyword); // i stort sett taget rakt från php manualen

kommer att fungera som jag tror att du vill att du vill att $keywordArr = str_word_count($keyword, 1); skall fungera.

bassebhuMedlem sedan nov. 20016 480 inlägg
#3

Tjusigt första inlägg här på wF. Tackar! ;)

134 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)