Willkommen in der Webstatt Zum Webstatt Blog und Stories
Wasili am 15.06.06 21:36

(Ich hasse es kurze, aber aussagkräftige Titel auszusuchen)

Eine Frage: Ist es mittels split Möglich einen String bei "-Buchstabenfolge" zu spalten, wobei nicht gespaltet werden darf, wenn der Treffer zwischen ", mitunder andern Zeichen, steckt?

Also sowas:
-boo "far" // Spalten
-boo "-boo" // Erster Treffer Spalten, zweiter nicht
-boo "far -boo far" // Erster Treffer spalten, zweiter nicht


Alternativ:
Ist es Möglich alle leerzeichen zwischen Anführungstriche mit Unterstrich (_) zu ersetzen? Also:

Aus
Hallo "Hallo Welt" Welt
Mach
Hallo "Hallo_Welt" Welt

netcup.de Warum gibt es hier Werbung?
Al3x0r Al3x0r am 15.06.06 21:43

zum zeiten kann man da nicht etwas à la:

$variable = "Hallo Welt";
$variable = str_replace(" ", "_", $variable);
echo $variable;


mfg Alex

edit:// mhhh scheint doch nicht ganz das zu sein was du meinst, du willst ja alle zwischen anführungsstrichen.

Johannes am 15.06.06 22:07

Wie wäre es denn mit dieser Möglichkeit?
<?php

function ersetze( $str )
{
return '"'.str_replace( ' ', '_', $str ).'"';
}

$string = 'Dies ist ein "Test, der ist sooo toll", dass man "kaum glaubt", wie toll der ist';

$string = preg_replace( "@\\\"(.*)\"@esiU", "ersetze('\\1')", $string );

echo $string;
/* Ausgabe:
Dies ist ein "Test,_der_ist_sooo_toll", dass man "kaum_glaubt", wie toll der ist
*/

?>

Wasili am 16.06.06 17:50

Ui... Das ging aber schnell :)
Hab mir sogar noch kurz erlaubt die Funktion anzupassen:

<?php
function ersetze( $str )
{
return ''.str_replace( ' ', '_', $str[0] ).'';
}

$string = 'Dies ist ein "Test, der ist sooo toll", dass man "kaum glaubt", wie toll der ist';

$string = preg_replace_callback( "@\\\"(.*)\"@siU", "ersetze", $string );

echo $string;
?>


Danke! :D


EEEEEDIT: Moment... i dafür da, dass gross und Kleinschreibung egal sind, oder?
Und für was ist s und U? :O

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt