Ergebnis 1 bis 6 von 6

Thema: Hilfe bei PHP Highlighting String Funktion (Zeichenkodierung)

  1. #1
    Teeny
    Registriert seit
    15.09.2015
    Beiträge
    21
    Danke
    5
    Bekam 1 mal "Danke" in 1 Posting

    Beitrag Hilfe bei PHP Highlighting String Funktion (Zeichenkodierung)

    Hallo Leute,

    also ich hab eine kleine php Funktion geschrieben welche mir bei einer Suche hilft.
    Und zwar markiert mir diese Funktion den String, den er in einem anderen String findet, golden.
    Ich hab diese Funktion geschrieben weil ich keine gefunden habe die das für mich erledigt, ohne das Problem mit der Zeichenkodierung.
    Wenn nämliche Umlaute verglichen werden müssen, klappt das ganze nicht mehr.
    Ich hab schon sämtliches Probiert doch es will einfach nicht klappen.
    Könnt ihr mir helfen?

    Hier die Funktion:

    PHP-Code:
        // $str1 = Eingegebener Suchtext
        // $str2 = Zu durchsuchender String

        
    function highlight($str1$str2) {
            
    $result "";
            
            
    // Speichere zu durchsuchenden String
            
    $strN $str2;
            
            
    // Alle Buchstaben klein machen damit es keine Probleme zwischen Klein- und Großbuchstaben gibt
            
    $str1 strtolower($str1);
            
    $str2 strtolower($str2);
        
            
    // Speichere Position von String1 in String2
            
    $pos strpos($str2$str1);
            
            
    // Speichere Zeichenlänge von String2
            
    $strlen strlen($str2);
            
            
    // Wenn Eingegebener Suchtext nicht Anfang ist vom zu durchsuchenden String,
            // springe zur übereinstimmenden Stelle..
            
    if ($pos !== 0) {
                for (
    $t 0$t $strlen$t++) {
                    if (isset(
    $str1[$t])) {
                        if (
    $str1[$t] != $str2[$t]) {
                            
    $str1 ' '.$str1;
                        }
                    }
                }
            }
            
            
    // Überprüfe Zeichen für Zeichen und markiere übereinstimmende Zeichen golden
            
    $j 0;
            for (
    $i 0$i $strlen$i++) {
                if (isset(
    $str1[$i])) {
                    if (
    $str1[$j] == $str2[$i]) {
                        
    $result .= '<font color="#DAA732">'.$strN[$i].'</font>';
                    }
                    else if (
    $str1[$j] != $str2[$i]) {
                        
    $result .= $strN[$i];
                    }
                    
    $j++;
                } else {
                    
    $result .= $strN[$i];
                }
            }
            
            return 
    $result;
        } 
    Die Idee ist ja, dass egal wie beide Strings reinkommen, beide so gestellt werden müsse,
    dass die Funktion mit beiden arbeiten kann..

    Danke für Hilfe.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von eg45 (16.02.2016 um 15:26 Uhr)

  2. #2
    Moderator Avatar von Arne Drews
    Registriert seit
    20.01.2016
    Ort
    Friedrichstadt, NF
    Beiträge
    1.232
    Danke
    21
    Bekam 120 mal "Danke" in 119 Postings

    Standard AW: Hilfe bei PHP Highlighting String Funktion (Zeichenkodierung)

    Hallo,

    Das geht aber auch einfacher:
    PHP-Code:
    function highlighter$needle$hash ) {

        
    $sPattern '/(' preg_quote$needle ) . ')/ius';
        
    $sHighlighted preg_replace$sPattern'<span class="addhighlight">$1</span>'$hash );

        return 
    $sHighlighted;


    In der CSS Klasse dann einfach den Style für das Highlightning setzen.

    Ungetestet, aber so in etwa gehts.
    Wenns Probleme gibt, kann ich Dir gern helfen, das lauffähig zu bekommen.

    Gruß Arne
    Geändert von Arne Drews (16.02.2016 um 23:31 Uhr)

  3. #3
    Teeny
    Themenstarter

    Registriert seit
    15.09.2015
    Beiträge
    21
    Danke
    5
    Bekam 1 mal "Danke" in 1 Posting

    Standard AW: Hilfe bei PHP Highlighting String Funktion (Zeichenkodierung)

    Der gewünschte Effekt tritt nicht ein. Bei deiner Funktion verschwindet das Gesuchte im zu durchsuchenden String..

  4. #4
    Moderator Avatar von Arne Drews
    Registriert seit
    20.01.2016
    Ort
    Friedrichstadt, NF
    Beiträge
    1.232
    Danke
    21
    Bekam 120 mal "Danke" in 119 Postings

    Standard AW: Hilfe bei PHP Highlighting String Funktion (Zeichenkodierung)

    Hallo,

    Ja, die Klammern beim Pattern haben gefehlt, habe ich oben korrigiert.
    Wenn Du nur nach kompletten Worten suchen willst, musst Du übrigens noch Wortbegrenzer einbauen:
    PHP-Code:
    $sPattern '/\b(' preg_quote$needle ) . ')\b/ius'

  5. #5
    Teeny
    Themenstarter

    Registriert seit
    15.09.2015
    Beiträge
    21
    Danke
    5
    Bekam 1 mal "Danke" in 1 Posting

    Standard AW: Hilfe bei PHP Highlighting String Funktion (Zeichenkodierung)

    Danke für deine Hilfe aber das Gesuchte verschwindet immer noch

  6. #6
    Moderator Avatar von Arne Drews
    Registriert seit
    20.01.2016
    Ort
    Friedrichstadt, NF
    Beiträge
    1.232
    Danke
    21
    Bekam 120 mal "Danke" in 119 Postings

    Standard AW: Hilfe bei PHP Highlighting String Funktion (Zeichenkodierung)

    Dann machst Du was falsch, ich habs eben getestet. guckstu hier: http://www.php-rocks.de/dpone/highlighter/
    Ist 1:1 der obige Code...

Ähnliche Themen

  1. string Teile einer Funktion in variable
    Von Garavani im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 18.05.2013, 19:02
  2. string uebergabe in funktion
    Von Unregistriert im Forum Forum für alle anderen Programmiersprachen
    Antworten: 3
    Letzter Beitrag: 03.12.2009, 13:51
  3. Text Highlighting Dienste?
    Von Darkxor im Forum HTML & CSS Forum
    Antworten: 0
    Letzter Beitrag: 04.07.2009, 14:22
  4. Syntax-Highlighting
    Von Bandit im Forum Forum-Hilfe.de intern
    Antworten: 17
    Letzter Beitrag: 17.06.2008, 21:27
  5. Problem bei der Zeichenkodierung mit iso-8859-1
    Von kruemell im Forum Zope & Plone - das deutsche Hilfeforum
    Antworten: 1
    Letzter Beitrag: 29.03.2007, 15:42

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •