Werkstudent1: json_encode für komplexe objekte

Beitrag lesen

Hi,

Bleibt trotzdem die Frage, warum du ein Array als Objekt und nicht als richtiges Array darstellen möchtest.

Meine aufgabe lautet ein suchfeld zu bauen, wo man ein keyword reinschreiben kann. Alle Artikel, wo das Keyword vorkommen sollen dann auf der Seite, wo ich gesucht habe angezeigt werden. Meine idee war das keyword per ajax an den server zu schicken, ein json vom server zurückzubekommen und dann bei erfolg das json zu verarbeiten.

Wenn es einen besseren weg gibt, bin ich ganz Ohr :)

Der Kontextwechsel und die Maskierregeln müssen immer beachtet werden, wenn Werte irgendwo eingefügt werden.

Ich habe erstmal ganz brachial alle " und ' entfernt und alle HTML-Tags entfernt. Müsste vorerst reichen. Wenn die Aufgabe zum größten Teil gelöst ist, kann ich später schauen, wie ich das eleganter löse.

        $json_string="{";
        $json_index = 0;
        if (mysqli_num_rows($result) > 0) {
            // output data of each row
            while($row = mysqli_fetch_assoc($result)) {
                $content= $row["post_content"];
                $title= $row["post_title"];

                //HTML TAGS ENFERNEN und Context maskieren
                $title= strip_tags($title);
                $title= str_replace("'", "", $title );
                $title= str_replace('"', '', $title );

                $content= strip_tags($content);
                $content= str_replace("'", "", $content );
                $content= str_replace('"', '', $content );
                
                //Content kuerzen
                $arr = explode(".", $content);
                $short="";
                $length = sizeof($arr);
                for ($i = 0; $i <= $length; $i++) {
                    if(strlen($short) < 300){
                        $short= $short . $arr[$i] . ".";
                    }
                }
                $short= $short .  "..";
                
                // json bauen
                $json_string = $json_string . '"'. $json_index .'":{ "title":"' . $title .'", "content":"' . $short .'"},';
                $json_index++;
            }
        } else {
            echo "0 results";
        }

        $json_string = substr($json_string, 0, -1);
        $json_string = $json_string . "}";
        echo $json_string;

Gruß

Werkstudent1