suche nach "Audio/Video" ergibt Fehler Unknown mod

Please report bugs here!

Moderator: Thorsten

klausing
Posts: 89
Joined: Fri Oct 14, 2005 11:46 am

suche nach "Audio/Video" ergibt Fehler Unknown mod

Post by klausing »

Ich habe in der Volltextsuche auf der Startseite meiner FAQ folgenden Suchtext eingegeben Audio/VideO
Nach der Suche erscheint zwar ein Suchergebnis, aber über der FAQ erscheint mehrfach folgende Fehlermeldung:
Warning: preg_replace_callback() [function.preg-replace-callback]: Unknown modifier 'V' in /srv/www/htdocs/web114/html/content4/faqsystem/inc/functions.php on line 1261

Warning: preg_replace_callback() [function.preg-replace-callback]: Unknown modifier 'V' in /srv/www/htdocs/web114/html/content4/faqsystem/inc/functions.php on line 1262


Scrollt man sich durch diese ganzen Fehlermeldungen durch (welche genau 15mal als Schleife auftritt) , dann ist darunter die ganz normale FAQ Seite mit den Suchergebnissen.

Dies ist jederzeit unter http://www.steffen-klausing.de/content4/faqysystem reproduzierbar.
Datenbank: MySQL 4.1.14
Server: Apache/1.3.34 (Unix) PHP/4.4.0
phpMyFAQ 1.5.2

edit: sorry hatte einen Fehler im Link sollte natürlich faqsystem nicht fasystem heißen :oops: hab korrigiert nun geht der Link
Last edited by klausing on Sat Oct 22, 2005 11:24 am, edited 1 time in total.
Thorsten
Posts: 15568
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

die Seite produziert einen 404er...

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
klausing
Posts: 89
Joined: Fri Oct 14, 2005 11:46 am

Post by klausing »

sorry war nen Schreibfehler in der URL.
Die richtige Seite ist http://www.steffen-klausing.de/content4/faqsystem/ da fehlte ein "q" :oops:
Thorsten
Posts: 15568
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

könntest du mal die Datei inc/function.php öffnen, zur Zeile 1261 gehen und ein paar Zeilen nach der Zeile mit

Code: Select all

$begriff = str_replace(array('^', '.', '?', '*', '+', '{', '}', '(', ')', '[', ']'), '', $begriff);
das einfügen:

Code: Select all

$begriff = preg_quote($begriff, '/');
und nochmal testen? Danke!

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
klausing
Posts: 89
Joined: Fri Oct 14, 2005 11:46 am

Post by klausing »

Das lustige ist in der Zeile 1261 steht

Code: Select all

$thema = preg_replace_callback('/(((href|src|title|alt|class|style|id|name)="[^"]*)?'.$begriff.'(?(1).*"))/mis', "highlight_no_links", $thema);
			    $content = preg_replace_callback('/(((href|src|title|alt|class|style|id|name)="[^"]*)?'.$begriff.'(?(1).*"))/mis', "highlight_no_links", $content);
            }
ich habe danach

Code: Select all

$begriff = preg_quote($begriff, '/');
eingefügt und die Warnmeldung tauchte nur noch 1mal auf.Füge ich es dort direkt ein

Code: Select all

$thema = preg_replace_callback('/(((href|src|title|alt|class|style|id|name)="[^"]*)?'.$begriff.'(?(1).*"))/mis', "highlight_no_links", $thema);
			    $begriff = preg_quote($begriff, '/');$content = preg_replace_callback('/(((href|src|title|alt|class|style|id|name)="[^"]*)?'.$begriff.'(?(1).*"))/mis', "highlight_no_links", $content);
dann erscheint die Fehlermeldung nur noch für die Zeile 1262
Thorsten
Posts: 15568
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

der ganze Block muss so aussehen:

Code: Select all

            $begriff = str_replace(array('^', '.', '?', '*', '+', '{', '}', '(', ')', '[', ']'), '', $begriff);
            $begriff = preg_quote($begriff, '/');
            if (strlen($begriff) > 1) {
                $thema = preg_replace_callback('/(((href|src|title|alt|class|style|id|name)="[^"]*)?'.$begriff.'(?(1).*"))/mis', "highlight_no_links", $thema);
                $content = preg_replace_callback('/(((href|src|title|alt|class|style|id|name)="[^"]*)?'.$begriff.'(?(1).*"))/mis', "highlight_no_links", $content);
            }
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
klausing
Posts: 89
Joined: Fri Oct 14, 2005 11:46 am

Post by klausing »

Dann erhalte ich

Code: Select all

Parse error: parse error, unexpected $ in /srv/www/htdocs/web114/html/content4/faqsystem/inc/functions.php on line 1646
Das lustige ist , dort steht nur

Code: Select all

}
um auf Nummer sicher zu gehen habe ich eben noch einmal die funktions.php aus dem instalaltionsverzeichnis der 152 hochgeladen. Darin enthaltener Code:

Code: Select all

$begriff = str_replace(array('^', '.', '?', '*', '+', '{', '}', '(', ')', '[', ']'), '', $begriff);
            if (strlen($begriff) > 1) {
                $thema = preg_replace_callback('/(((href|src|title|alt|class|style|id|name)="[^"]*)?'.$begriff.'(?(1).*"))/mis', "highlight_no_links", $thema);
			    ;$content = preg_replace_callback('/(((href|src|title|alt|class|style|id|name)="[^"]*)?'.$begriff.'(?(1).*"))/mis', "highlight_no_links", $content); 
            }
wie bei Dir also. Aber das einfügen der von Dir empfohlenen Zeile löst das Problem nach wie vor nicht
Last edited by klausing on Sat Oct 22, 2005 2:39 pm, edited 1 time in total.
Thorsten
Posts: 15568
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

hast du ein } zuviel oder zuwenig geschlossen?

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
klausing
Posts: 89
Joined: Fri Oct 14, 2005 11:46 am

Post by klausing »

Also ich habs eben noch mal ganz von vorn probiert. Original functions.php genommen Deinen Code genommen und ihn an den Anfang der Zeile 1264 gepackt.

Code: Select all

$begriff = str_replace(array('^', '.', '?', '*', '+', '{', '}', '(', ')', '[', ']'), '', $begriff);
            if (strlen($begriff) > 1) {
                $thema = preg_replace_callback('/(((href|src|title|alt|class|style|id|name)="[^"]*)?'.$begriff.'(?(1).*"))/mis', "highlight_no_links", $thema);
			    $content = preg_replace_callback('/(((href|src|title|alt|class|style|id|name)="[^"]*)?'.$begriff.'(?(1).*"))/mis', "highlight_no_links", $content);
            }
            $begriff = preg_quote($begriff, '/');$output .= "<li><strong>".$rubriktext."</strong>: <a href=\"".$_SERVER["PHP_SELF"]."?".$sids."action=artikel&cat=".$row->category_id."&id=".$row->id."&artlang=".$row->lang."&highlight=".$begriff."\">".stripslashes($thema)."...</a><br /><div style=\"font-size: 10px;\"><strong>".$PMF_LANG["msgSearchContent"]."</strong> ".stripslashes($content)."...</div><br /></li>\n";
            
Der Code in der functions.php sieht so aus wie bei Dir.

Ergebnis: Die Fehlermeldung taucht nun nicht mehr 15 mal sondern nurn noch einmal auf wenn man nach "Audio/Video" sucht. Aber er taucht immer noch auf
Last edited by klausing on Sat Oct 22, 2005 3:05 pm, edited 1 time in total.
Thorsten
Posts: 15568
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

wie lautet die Fehlermeldung?

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
klausing
Posts: 89
Joined: Fri Oct 14, 2005 11:46 am

Post by klausing »

immer die selbe

Code: Select all

Warning: preg_replace_callback() [function.preg-replace-callback]: Unknown modifier 'V' in /srv/www/htdocs/web114/html/content4/faqsystem/inc/functions.php on line 1261

Warning: preg_replace_callback() [function.preg-replace-callback]: Unknown modifier 'V' in /srv/www/htdocs/web114/html/content4/faqsystem/inc/functions.php on line 1262

Mir ist auch aufgefallen, dass der Beitrag mit dem Therma
Kann B2C2 MPEG 2 Filter Audio/Video Ctrl nicht finden
in den Suchergebnissen gar nicht auftaucht.
Thorsten
Posts: 15568
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

ändere doch mal bitte die Zeile

Code: Select all

$begriff = str_replace(array('^', '.', '?', '*', '+', '{', '}', '(', ')', '[', ']'), '', $begriff);
in

Code: Select all

$begriff = str_replace(array('^', '.', '?', '*', '+', '{', '}', '(', ')', '[', ']', '/'), '', $begriff);
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
klausing
Posts: 89
Joined: Fri Oct 14, 2005 11:46 am

Post by klausing »

Das Ergebnis bleibt das gleiche.
Neben bei ist mir noch was aufgefallen. Es werden 64 Suchergebnisse verteilt auf 5 Seiten angezeigt.
am Ende der ersten Seite steht zwar [weitere] mit dem Link

Code: Select all

http://www.steffen-klausing.de/content4/faqsystem/index.php?action=search&search=Audio\\\\\\\\\\jetzt kommt bestimmt tausend mal \ \/Video&seite=2
aber bei einem Klick drauf passiert natürlich nichts
Last edited by klausing on Sat Oct 22, 2005 3:32 pm, edited 1 time in total.
Thorsten
Posts: 15568
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

okay... dann muss ich mir was anderes überlegen...

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
klausing
Posts: 89
Joined: Fri Oct 14, 2005 11:46 am

Post by klausing »

Wenn ich das richtig verstanden habe, dann entfernst/ersetzt Du die Sonderzeichen einer Suche.
Wie wäre es dann mit 2 Suchen?
Zum Beispiel. Bei mir kommt ja in einem Beitrag "Adio/Video" vor. Wenn ich nun danach suche, dann könnte man vielleicht zuerst direkt nach "Audio/Video" und danach erst nach "Audio" und "Video" mit absteigender Relevanz suchen.
Wäre das ein Ansatz?
Post Reply