Antworten auf deine Fragen:
Neues Thema erstellen

ersetzen con umlauten innerhalb eines strings

D

daishidi

Guest

Hi,

folgendes problem:
ich muss eine function schreiben, welche es ermöglicht, umlaute und dass ?-zeichen durch die entsprechenden befehle z.B. € zu ersetzen.

1. Ansatz :
PHP:
function umlaute_ersetzen($inhalt)
{

    $inhalt = str_replace('ü','ü',$inhalt);
    $inhalt = str_replace('ä','ä',$inhalt);
    $inhalt = str_replace('ö','ö',$inhalt);
    $inhalt = str_replace('?','€',$inhalt);
    return $inhalt;
}
2. Ansatz :

PHP:
function umlaute_ersetzen($inhalt)
{

    $zu_suchen = array("ä", "ö", "ü", "?");
    $ersetzen_durch = array("\ä", "\ö", "\ü","\€");
    $newinhalt = str_replace($zu_suchen, $ersetzen_durch, $inhalt);
    return $newinhalt;
}
funktionieren beide nich.

sitze inzwischen 2 tage dran und bin dabei an meinem verstand zu zweifeln.

kann mir einer von euch erklären wo mein fehler liegt?


gruß daishi

ps. dass script soll später vor einen eintrag in meine mysql-datenbank stehen
 

D

daishidi

Guest

AW: ersetzen con umlauten innerhalb eines strings

es kommt keine fehlermeldung und wird nichts ersetzt nach einem blick in die datenbank kommt statt ä ö ü nur ? ? ?.
bei ner ausgabe innherhalb des scriptes echo $inhalt nach dem str_replace steht im quelltext auch nur ä ö ü und nicht ä ö ü

ich weiß echt nich weiter.


gibts denn ne alternative um dass zu erledigen?

gruß daishi
 

saila

Moderatorle

AW: ersetzen con umlauten innerhalb eines strings

Hi,

bei dir fehlen die End-Separatoren.

Hier mal ein Beispiel:
Code:
$inhalt = 'Ä ?';

function umlaute_ersetzen($inhalt) {

    $preg = array(    '#Ä#', 
                    '#?#');
    
    $repl = array(    'Ä', 
                    '€');
    
    echo preg_replace($preg, $repl, $inhalt);
}  

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>
<head>
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="-1" />
    <meta http-equiv="Cache-Control" content="no-cache" />
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
</head>
<body>
<? umlaute_ersetzen($inhalt); ?>
</body>
</html>

Das gleiche bzgl. Array geht auch mit str_replace statt preg_replace. Wenn du den Seitenquelltext dir betrachtest, ist alles korrekt geändert.

Dabei ist allerdings zu achten, was für ein charset verwendet wird!! Bei utf-8 sieht das Ergebnis natürlich anderst aus ;)
 
D

daishidi

Guest

AW: ersetzen con umlauten innerhalb eines strings

ok, hier habe ich nen hänger.

welches charset muss ich denn für die richtige übertragung nutzen und wie arbeite ich dass in den code ein.

danke erstmal für die schnelle hilfe, werde es gleich mal versuchen

gruß daishi
 
D

daishidi

Guest

AW: ersetzen con umlauten innerhalb eines strings

Danke,

habe dass problem umgangen
PHP:
$db_charset = @$db->set_charset("utf8");
da lag warscheinlich dass problem, nach der auskommentierung hat dass script auch umlaute und dass ? zeichen richtig in die datenbank eingetragen.

sorry für den anfängerfehler,

gruß daishi
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.477
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben