Zurück   Flashforum > Flash und Server > PHP und MySQL

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-02-2011, 10:51   #1 (permalink)
emy
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 56
PHP Suchfunktion Umlauten Problem

Hallo Leute.
So ich bin gerade etwas am PHP lernen, geht eigentlich ganz gut nur jetzt bin ich KO.
Ich habe eine Suchfunktion gebaut und funktioniert, aber habe dieses Problem.
Ich möchte gerne die Umlauten rein setzen,
dass bei der suche auch gefunden werden.
Z.B. Wenn ich schreibe Köln, soll es finden, ob wohl habe das Wort Köln in meine Seite
Aber ich bekomme Meldung, keine Treffer gefunden.
Ich habe bereits die SuFu benutzt und auch viel gefunden aber ich kriege es nicht hin.
Ich habe mal so geschrieben, aber ist falsch.

Wäre froh wenn mir da wer Weiterhelfen kann.
Schon mal danke im Voraus

Gruß
Emy

PHP-Code

//Beginn von nicht entfernten Sonderzeichen; kann erweitert werden
$zeichen_in = array("/ö;/", "/ä;/", "/ü;/", "/Ö;/", "/Ä;/", "/ß;/", "/Ü;/", "/"/", "/&/", "/ /", "/nbsp;/", "/quot;/"); //in
$zeichen_out = array("oe", "ae", "ue" , "oe" , "ae", "ss", "ue" ); //out
$resulut = preg_replace($zeichen_in, $zeichen_out,$resulut);
//Ende
Angehängte Dateien
Dateityp: rar inc.rar (21,5 KB, 1x aufgerufen)
emy ist offline   Mit Zitat antworten
Alt 04-02-2011, 10:55   #2 (permalink)
asFlasher
 
Benutzerbild von ksw24
 
Registriert seit: Jul 2006
Beiträge: 1.136
Schau mal nach encoding deiner Seite (Stichwort UTF-8).
ksw24 ist offline   Mit Zitat antworten
Alt 04-02-2011, 11:01   #3 (permalink)
emy
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 56
Hi,

ich habe schon ein meta.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

ist das nicht richtig?

Gruß
Emy
emy ist offline   Mit Zitat antworten
Alt 04-02-2011, 11:53   #4 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
PHP-Code:
$chars = array( 'ä' => 'ae''ö' => 'oe''ü' => 'ue''Ä' => 'Ae''Ü' => 'Ue''Ö' => 'Oe''ß' => '&szlig;''&' => '&quot;'' ' => '&nbsp;' );

$result str_replacearray_keys$chars ), $chars$string ); 
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 04-02-2011, 12:05   #5 (permalink)
emy
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 56
Hi Nightflyer,

habe so rein gesetz, Leider immer noch keine Treffer.

//Beginn von nicht entfernten Sonderzeichen; kann erweitert werden
$chars = array( 'ä' => 'ae', 'ö' => 'oe', 'ü' => 'ue', 'Ä' => 'Ae', 'Ü' => 'Ue', 'Ö' => 'Oe', 'ß' => '&szlig;', '&' => '&quot;', ' ' => '&nbsp;' );
$result = str_replace( array_keys( $chars ), $chars, $string );
//Ende

ist so Richtig?

Gruß
Emy
emy ist offline   Mit Zitat antworten
Alt 04-02-2011, 12:13   #6 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Sorry ich müsste schon den gesamten Code sehen damit ich weiss was du machst. Habe hier leider kein WinRAR und kann deine Dateien nicht öffnen,
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 04-02-2011, 12:20   #7 (permalink)
emy
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 56
Hier ist die Code

found_word.php
------------------------------------
<?php
$pattern ='';
$array_all='';
define ("tube", true);
//set_time_limit(30); //optional; zum verlaengern der Script Laufzeit
$pattern = strip_tags($_GET['wordpas']);
$pattern = preg_replace('/[\/\(\)\{\[\]\}\#\*\^\<\>\=\?\*\.\,\;\!\"\'\|\\\]/U', '',$pattern);
$pattern = htmlentities(trim($pattern));

include('confic_.php');
//Anzahl der zu erkennenden Zeichen; optional 30 ,2
if ( (strlen($pattern)<'30') && (strlen($pattern)>'2') )
{
if (!empty($pattern))
{
for($i=0;$i<=count($array_all);$i++)
{
$site = '';
$site = @file_get_contents($array_all[$i]);
preg_match('/<head>(.*)<\/head>/is',$site, $alL_meta);
if (stristr($alL_meta[1], "utf-8"))
{
$alL_meta[1] = utf8_decode($alL_meta[1]);
$site = utf8_decode($site);
}
else
{
$site =html_entity_decode($site);
}

$site = preg_replace('/<script[^>]*>(.*?)<\/script[^>]*>/si', ' ', $site);
$site = preg_replace('/<!\-\-(.*?)\-\->/', '', $site);
$site = htmlentities(strip_tags($site));

$str_true = preg_match_all("/\b$pattern\b.+/is", $site, $hit);

if (($str_true==true) or (!empty($hit[0][0])) )
{
$string = '';
$string_ = '';
$resulut = '';
$count_number='';
//laenge der Verweise; optional 200
$string = substr($hit[0][0], '0', '200');
$string_ = explode(" ", $string);
if ($string_[1] == true)
{
$count_number = count($string_);
$body_text ='';
for($h = 0; $h < $count_number-1; $h++)
{
$body_text[$h] = $string_[$h];
}
$resulut = implode(" ", $body_text);

//Beginn von nicht entfernten Sonderzeichen; kann erweitert werden
$zeichen_in = array("/&quot;/", "/&amp;/", "/&nbsp;/", "/nbsp;/", "/quot;/"); //in
$zeichen_out = array("" , "" , "" , "" , "" ); //out
$resulut = preg_replace($zeichen_in, $zeichen_out,$resulut);
//Ende

$out_words='';
preg_match_all("/\b$pattern\b/i", $site, $hit);
preg_match_all("/\b$pattern\b/i", $resulut, $out_words);
$vf ='';
$vf =$out_words[0][0];
$vc='';
$vc = '<b>'.$vf.'</b>';
$volume='';
$volume[] =$vf;
$resulut = preg_replace("/\b$vf\b/i", $vc, $resulut);
preg_match('/<title>(.*)<\/title>/i',$alL_meta[1], $head);
$head[1] = htmlentities($head[1]);
if (empty($head[1]))
{
$head[1] = 'Titel';
}

echo "<div class=\"title\"><a href=\" $array_all[$i] \"><u> $head[1] </u></a></div>";
echo "<div class=\"out\">".$resulut." ...<br></div>";
echo "<div class=\"url\"><i>Url:</i><a href=\" $array_all[$i] \"> $array_all[$i] </a><br><br><br></div>\n";
}
}
}
if ($vf)
{
echo "<br><br><div class=\"adress\"><a href=\"http://www.tv-iran.com\" target=\"_blank\"><i> By Tv Iran</i></a></div>";
}
}
}
if (empty($pattern))
{
echo "<div class=\"out\">Es wurde kein Suchwort eingegeben!<br><br><br><br><br></div>";
echo "<div class=\"adress\"><a href=\"http://www.tv-iran.com\" target=\"_self\"><i> By Tv Iran</i></a></div>";
}
else
{
if (empty($resulut) or (empty($head[1])))
{
echo "<div class=\"out\"><p>Leider kein Treffer!</p></div>";
echo "<div class=\"out\">Hier kommen sie zur <a href=\"$html_index \"><u>Ausgangsseite</u></a> zur&uuml;ck<br><br><br><br></div>";
echo "<div class=\"adress\"><a href=\"http://www.tv-iran.com\" target=\"_self\"><i>By Tv Iran</i></a></div>";
}
}
?>
Angehängte Dateien
Dateityp: zip inc.zip (21,9 KB, 0x aufgerufen)

Geändert von emy (04-02-2011 um 12:34 Uhr)
emy ist offline   Mit Zitat antworten
Alt 04-02-2011, 12:33   #8 (permalink)
about nothing
 
Benutzerbild von M!ch!
 
Registriert seit: Mar 2002
Ort: Borken
Beiträge: 724
Hi,

packe deinen Code am besten in die PHP-Tags von BB, dann werden sie direkt formatiert angezeigt. Das findest du, wenn du einen Beitrag erstellst, in der Optionsleiste oben (ist ein kleines PHP-Symbol). Und den Code würde ich auch etwas lesbarer setzen (Einrücken, etc.).

Wieso eigentlich die Umlaute (ä, ö, ü) nicht auch gleich in HTML-Code?
PHP-Code:
$chars = array( 'ä' => '&auml;''ö' => '&ouml;''ü' => '&uuml;''Ä' => '&Auml;''Ü' => '&Uuml;''Ö' => '&Ouml;''ß' => '&szlig;''&' => '&quot;'' ' => '&nbsp;' ); 
__________________
M!ch! ist offline   Mit Zitat antworten
Alt 04-02-2011, 12:55   #9 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Da kannst gleich direkt

PHP: htmlentities - Manual

verwenden
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 04-02-2011, 12:55   #10 (permalink)
emy
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 56
Hi,
Bis hier hat 3 Wochen gedauert. Ich bin ganz Anfänger.
Habe auch mit html probiert, leider meine wissen ist nicht genug.
Deswegen habe als Anhang gepostet um zu lernen.
Geht nicht weiter. Aber ich lasse nicht los

Gruß
Emy
emy ist offline   Mit Zitat antworten
Alt 04-02-2011, 13:01   #11 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Ich werd einfach aus deinem Code nicht ganz schlau was du überhaupt machen willst :/ Was möchtest du genau machen? Ich bin mir ziemlich sicher dass mein deinen COde noch viel schöner und effizienter hinkriegt, aber dazu müssen wir Helfer erst mal genau wissen wo du nach was suchst und warum.
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 04-02-2011, 13:54   #12 (permalink)
emy
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 56
Hi,
nur ein Suchfunktion dass, die Seite durchsucht, wie alle normale Suchfunktion.
So weit funktioniert alles OK.
Nur bei meine Suchfunktion ist das Problem, dass egal was ich mache zeigt mir keine Umlaut.
Deswegen habe die Daten als Anhang gepostet, um zu Wissen.
Das ist alles,

Gruß
Emy
emy ist offline   Mit Zitat antworten
Alt 04-02-2011, 14:35   #13 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Die Seiten sind alle HTML? Evt. bietet sich sogar eine Lösung in JavaScript an?

JavaScript Search Engine das beispielsweise
__________________
(\__/)
(='.'=)
(")_(")

Geändert von Nightflyer (04-02-2011 um 14:37 Uhr)
Nightflyer ist offline   Mit Zitat antworten
Alt 04-02-2011, 15:21   #14 (permalink)
emy
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 56
Hi Nightflyer,
ich danke dir, Ein sehr gute Link.
Gruß
Emy
emy ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
problem mit umlauten xxbaerlexx Flash Einsteiger 4 28-11-2007 13:56
Problem mit Umlauten Slashwalker PHP und MySQL 10 02-11-2006 10:31
Problem mit Umlauten :( Messer-Jockel Flash Einsteiger 3 02-09-2006 10:46
Problem mit Umlauten Ivoo Flash MX 2004 6 19-03-2005 15:34
problem mit umlauten Skyla ActionScript 1 1 10-12-2003 08:12


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:25 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele