(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
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.
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
*/
?>
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;
?>
xyz-48ke! :D
EEEEEDIT: Moment... i dafür da, dass gross und Kleinschreibung egal sind, oder?
Und für was ist s und U? :O