webForumDet fria alternativet

str_replace i en foreach loop

3 svar · 567 visningar · startad av grennfox

grennfoxMedlem sedan feb. 2010191 inlägg
#1

Hallå!

Sitter och jobbar lite på mitt privata projekt och har fastnat lite här nu.

Jag hämtar ut lite text från databasen och sparar det i en variabel $text
sen så vill jag skicka in denna variabel in i en funktion som då ska köra en foreach loop, och den loopen kör jag 2 st str_replace.

Så här ser koden ut som jag har knappat ihop men vet att den är lite fel:

function textCheck($string){
	foreach ($string as $value){
		$text = str_replace('['[ '<', $value);
		$text = str_replace(']'] '>', $value);
	}
	return $text;
}

¨

och så här ser koden ut som startar funktionen samt skriver ut det som jag får ut av funktionen:

$textcheck = textcheck($topic['post_text']);
echo  $textcheck ;

Och jag får följande error meddelade:

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\inc\functions.php on line 236

Notice: Undefined variable: text in C:\xampp\htdocs\inc\functions.php on line 241

Jag kanske är helt ute och cyklar med den här koden, men skulle behöva lite hjälp iallafall hur jag ska göra.
Kan även säga att jag har en separat php sida för functions och en för index.php där den skriver ut allt.

Jag tackar på förhand :)

grennfoxMedlem sedan feb. 2010191 inlägg
#2

Kan även tillägga att jag testade att köra en echo i funktionen på $string och den skriver ut det som den hämtar fån databasen

voigtann1Medlem sedan juni 20018 810 inlägg
#3

php är kanske speciellt men:

        $text = str_replace('['[ '<', $value);
        $text = str_replace(']'] '>', $value);

ser riktigt fel ut.

borde väl räcka med:

function textCheck($string){
	$string = str_replace('[', '<', $string);
	$string = str_replace(']', '>', $string);
	return $string;
}
grennfoxMedlem sedan feb. 2010191 inlägg
#4

det gjorde det, jag som antagligen tänkte lite fel :P Men tack igen för ett snabbt svar :)

Genererad på 374 ms · cache AV · v20260730165559-full.f96bc7eb