php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.04.2006, 18:26  
Erfahrener Benutzer
 
Registriert seit: 14.01.2006
Beiträge: 111
moose
Standard geschachtelten array sortieren, enter ersetzen und umlaute

geschachtelten array sortieren
ich habe einen array, in dem andere arrays sind.

PHP-Code:
$a = array("a1""1""a3""a4");
$b = array("b1""2""b3""b4");

$big_array[0] = $b;
$big_array[1] = $a
Jetzt soll der array $big_array (sorry wegen dem einfallslosem namen ) nach $a[1] und $b[1] sortiert werden. das heißt, $a soll im $big_array an stelle 0 sein und $b an stelle 1.

enter ersetzen und umlaute
ich will, ähnlich der funktion nl2br zeilenumbrüche durch etwas ersetzen, allerdings nicht durch

bisher hab ichs so gemacht:
str_replace("
", "egal", "nicht wichtig");
aber das ist halt blöd, da es unübersichtlich wird.

mit umlauten hab ich auch ein problem, und zwar wenn ich
str_replace("ä", "ä", "nicht wichtig");
schreib, macht mein pc das einfach nicht.
gibts da vielleicht was anderes, was ich schreiben kann? ascii code vielleicht? (ich hab wirklich keine ahnung, denke aber dass sich dieses problem mit der selben methode lösen lässt)
moose ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.04.2006, 18:51  
Gast
 
Beiträge: n/a
Standard

Zum ersten Problem: usort und uasort bei http://php.net/ref.array nachschlagen.

Auf dem PC funktioniert
PHP-Code:
<?php
echo str_replace('ä''&auml;'"läutern");
?>
nicht?

&auml; ist nicht notwendig, wenn ein Zeichensatz gewählt wird, der das Zeichen ä enthält, bspw ISO-8859-1
 
Alt 12.04.2006, 19:19  
Erfahrener Benutzer
 
Registriert seit: 14.01.2006
Beiträge: 111
moose
Standard

kann es damit zusammenhängen, dass ich linux (kate) benutze?
wie stell ich den zeichensatz ein? das war doch das hier:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> oder?
aber das funktioniert bei mir nicht.
__________________
http://www.martin-thoma.de
moose ist offline  
Alt 12.04.2006, 20:22  
Gast
 
Beiträge: n/a
Standard

Die meisten Browser bewerten den http header Content-type höher als die meta/equiv Variante. Ist beides vorhanden, wird meta/equiv ignoriert. Und php sendet von sich aus so einen header, der aber überschrieben werden kann.
Also die <meta...> Zeile rausschmeissen und dafür vor jeder anderen Ausgabe, die php Anweisung header('Content-Type: text/html; charset = ISO-8859-1'); setzen.
PHP-Code:
<?php header('Content-Type: text/html; charset = ISO-8859-1'); ?>
<html>
    <head>
        <title>Ümlaute</title>
    </head>
    <body>
        äÄöÖüÜß
    </body>
</html>
Wahlweise auch phpinfo() aufrufen, in der Ausgabe die verwendete php.ini raussuchen und dort
default_mimetype = "text/html"
default_charset = "ISO-8859-1"
eintragen (ohne ; am Anfang der Zeile). Danach den Webserver (Apache?) neu starten.
 
Alt 20.04.2006, 09:49  
Erfahrener Benutzer
 
Registriert seit: 14.01.2006
Beiträge: 111
moose
Standard

ja, ist ein apache und ich habs grad noch mal ausprobiert,
PHP-Code:
<?php
echo str_replace('ä''&auml;'"läutern");
?>
funktioniert, ich wollte mein script eigentlich nur vereinfachen und nicht sofort beschwerden, dass nicht eingerückt
ist bekommen. ich war mir wirklich sicher, dass das das problem ist.

hier ist das script:
PHP-Code:
<?php
<?
echo 
"
<form method=\"POST\">
    <table>
    <tr><td><textarea name=\"csv\" cols=\"100\" rows=\"15\"></textarea></td><td>CSV-Text</td></tr>
    <tr><td><input type=\"reset\"><input type=\"submit\" value=\"Konvertieren\"></td><td></td></tr>
    </table>
</form>"
;

if(isset(
$_POST['csv'])){
    
$a_csv explode("
"
,$_POST['csv']);
    unset(
$a_csv[count($a_csv)-1]);
    unset(
$a_csv[0]);
    foreach(
$a_csv AS $zeile){
    
$verbrauchsgegenstand "";
    
$a_gegenstand explode(";"$zeile);
    
$a_gegenstand str_replace("\"","",$a_gegenstand);
    
$a_gegenstand str_replace("\\","",$a_gegenstand);
    if(
$a_gegenstand[2] != ""){
        
$a_verbrauchsg[]=$a_gegenstand;
    }
    else{
        if(
$a_gegenstand[4] == "Tasche"){$a_tasche[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Kopf"){$a_kopf[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Ohren"){$a_ohren[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Brille"){$a_brille[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Halskette"){$a_halskette[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Torso"){$a_torso[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Umhang"){$a_umhang[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Arme"){$a_arme[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Gürtel"){$a_gurtel[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Handschuhe"){$a_handschuhe[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Füße"){$a_fuse[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Beide Hände"){$a_beide_haende[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Waffenhand"){$a_waffenhand[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Beine"){$a_beine[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Ring"){$a_ring[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Schildhand"){$a_schildhand[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Orden"){$a_orden[]=$a_gegenstand;}
        else{
            if(
substr($a_gegenstand[4], 25) == "rtel"){$a_guertel[] = $a_gegenstand;}
            elseif(
substr($a_gegenstand[4], 04) == "Einh"){$a_einhaendig[] = $a_gegenstand;}
            elseif(
substr($a_gegenstand[4], 01) == "F"){$a_fuse[] = $a_gegenstand;}
            else{echo 
"Nicht gespeicherter Typ: ".$a_gegenstand[4]."
"
;}
        }
    }
    }
?>
zum testen hab ich mals so was gemacht:

PHP-Code:
<?php header('Content-Type: text/html; charset = ISO-8859-1'); 
$a="Hände";
echo 
$a;
?>
Ergebnis:
Hände
moose ist offline  
Alt 20.04.2006, 12:24  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von moose
PHP-Code:
<?php
[...]
        if(
$a_gegenstand[4] == "Tasche"){$a_tasche[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Kopf"){$a_kopf[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Ohren"){$a_ohren[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Brille"){$a_brille[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Halskette"){$a_halskette[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Torso"){$a_torso[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Umhang"){$a_umhang[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Arme"){$a_arme[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Gürtel"){$a_gurtel[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Handschuhe"){$a_handschuhe[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Füße"){$a_fuse[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Beide Hände"){$a_beide_haende[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Waffenhand"){$a_waffenhand[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Beine"){$a_beine[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Ring"){$a_ring[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Schildhand"){$a_schildhand[]=$a_gegenstand;}
        elseif(
$a_gegenstand[4] == "Orden"){$a_orden[]=$a_gegenstand;}
[...]
?>
http://php.net/switch

Zitat:
Zitat von moose
Ergebnis:
Hände
http://de.wikipedia.org/wiki/UTF-8

Also entweder den entsprechenden Zeichensatz im Header setzen oder
dafür sorgen, dass der String nicht in UTF-8 vorliegt. Zum Beispiel mit:
http://php.net/utf8_decode
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Array sortieren mit regex Lupi PHP Tipps 2008 3 21.07.2008 15:17
Array mit Umlaute sortieren faux PHP Tipps 2006 5 01.09.2006 18:27
Array nach bestimmter Spalte sortieren GELight PHP Tipps 2006 4 19.08.2006 23:42
Mehrdimensionales Array sortieren Unbekanntes_Pferd PHP Tipps 2006 6 23.05.2006 20:42
array richtig sortieren, dann ausgeben Heart PHP Tipps 2006 5 28.04.2006 20:23
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
Array verkehrt sortieren (key) // letzter Arrayeintrag PHP Tipps 2005-2 5 20.09.2005 15:55
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Array sortieren PHP Tipps 2005 7 15.05.2005 02:14
Array mit Gruppen: Wie Sortieren PHP Tipps 2005 2 29.01.2005 15:15
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php array zeichen ersetzen, zeichen in array ersetzen php, php zeichen in array ersetzen, usort umlaute, php zeichen ersetzen array, http://www.php.de/php-tipps-2006/39050-geschachtelten-array-sortieren-enter-ersetzen-und-umlaute.html, php geschachteltes array, php sonderzeichen ersetzen array, zeichen in einem array ersetzen php, php zeichen im array ersetzen, uasort umlaute, php array sortieren umlaute, php zeichen array ersetzen, php array zeichen ändern, php array buchstaben ersetzen, php array leerzeichen ersetzen, php usort umlaute, php sortieren umlaute, php enter ersetzen, php umlaute ersetzen array

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.