WinFuture-Forum.de: [php] Vokale Tauschen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[php] Vokale Tauschen


#1 _[-pk]_sTeAm_

  • Gruppe: Gäste

geschrieben 03. Juni 2008 - 06:27

Hallo Gemeinde,

wollte gerne bei Worten die Vokale tauschen. Zum Beispiel wird aus

Gurkensalat -> Garkensalut

Wie setze ich das mit php um? Mit str_replace ist mir schon klar... nur wie kann ich sagen, dass er die 2 Vokale, die nicht gleich sind, miteinander tauscht? Wäre gut, wenn mir jemand helfen kann!

Danke

Ich!
0

Anzeige



#2 Mitglied ist offline   glowhand 

  • Gruppe: aktive Mitglieder
  • Beiträge: 15
  • Beigetreten: 13. Dezember 07
  • Reputation: 0

geschrieben 03. Juni 2008 - 07:13

Willst du sie zufällig tauschen?
Dann wäre folgendes eine Lösung:

$string = 'Gurkensalat';

$keys = array();
$vowels = array();

for($i=0;$i<strlen($string);$i++)
{
  if ($string{$i} == 'a' || $string{$i} == 'e' || $string{$i} == 'i' || $string{$i} == 'o' || $string{$i} == 'u')
  {
	 $keys[] = $i;
	 $vowels[] = $string{$i};
  }
}

shuffle($vowels);

$string_shuffled = $string;
foreach($keys as $key)
{
  $string_shuffled{$key} = array_pop($vowels);
}

0

#3 Mitglied ist offline   TO_Webmaster 

  • Gruppe: Moderation
  • Beiträge: 3.212
  • Beigetreten: 27. März 02
  • Reputation: 82
  • Geschlecht:Männlich

geschrieben 03. Juni 2008 - 11:22

Wenn du alle a durch u und alle u durch a tauschen willst, könntest du dir vorher von beiden alle Positionen speichern und dann mit ner Schleife an den entsprechenden Positionen entsprechende Werte setzen.

MfG TO_Webmaster
The old reverend Henry Ward Beecher
called a hen the most elegant creature.
The hen pleased for that,
laid an egg in his hat.
And so did the hen reward Beecher.
0

#4 _[-pk]_sTeAm_

  • Gruppe: Gäste

geschrieben 03. Juni 2008 - 13:48

hat geklappt

Dieser Beitrag wurde von [-pk]_sTeAm bearbeitet: 04. Juni 2008 - 04:51

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0