Sponsor-Board.de
PHP preg_split

+- Sponsor-Board.de (https://www.sponsor-board.de)
+-- Forum: Community (/forumdisplay.php?fid=56)
+--- Forum: Hilfe (/forumdisplay.php?fid=102)
+---- Forum: Scripting (/forumdisplay.php?fid=108)
+---- Thema: PHP preg_split (/showthread.php?tid=37485)


PHP preg_split - Luca - 02.04.2013 08:12

Servus,

ich müsste einen String auf eine Spezielle Art zerlegen, ich dachte preg_split sollte gehen, aber ich bräuchte einen passenden RegEx.

String:

Code:
§f§lMc§c§lAustria §n§aNow on §3§l1.5.1

Der String ist ein Beispiel, die Gemeinsamkeit ist das "§" mit dem Zeichen dahinter.

So bräuchte ich die Zerlegung:

PHP-Code:
Array(
    [
1] => "§f",
    [
2] => "§l",
    [
3] => "Mc",
    [
4] => "§c",
    [
5] => "§l",
    [
6] => "Austria ",
    [
7] => "§n",
    [
8] => "§a",
    [
9] => "Now on ",
    [
10] => "§3",
    [
11] => "§l",
    [
12] => "1.5.1"




RE: PHP preg_split - MrPMan - 02.04.2013 08:45

Wie wäre es mit

PHP-Code:
explode("§""§f§lMc§c§lAustria §n§aNow on §3§l1.5.1"); 


[Link: Registrierung erforderlich]


RE: PHP preg_split - Luca - 02.04.2013 08:49

PHP-Code:
Array
(
    [
0] => 
    [
1] => f
    
[2] => lMc
    
[3] => c
    
[4] => lAustria 
    
[5] => n
    
[6] => aNow on 
    
[7] => 3
    
[8] => l1.5.1


Sieht das für dich so aus wie das was ich oben geschrieben hab?


RE: PHP preg_split - Storage-Base.de - 02.04.2013 09:02

Luca schrieb:
Sieht das für dich so aus wie das was ich oben geschrieben hab?


Findest du das nun nicht etwas unhöflich?

Ich hätte nun auch an explode gedacht.

Es gibt nunmal nicht immer eine optimale Lösung für sein Problem, manchmal muss man eben basteln. Wenn man aber mal etwas hat was in etwa das gewünschte Ergebnis liefert, dann muss man halt mal sehen ob man es optimieren kann...


RE: PHP preg_split - sic_ - 02.04.2013 09:25

kannst du dir das nicht mit einem regulären ausdruck in etwas wie

x = Array(
[1] => "§f",
[2] => "§l",
[3] => "$Mc",
[4] => "§c",
[5] => "§l",
[6] => "$Austria ",
[7] => "§n",
[8] => "§a",
[9] => "$Now on ",
[10] => "§3",
[11] => "§l",
[12] => "$1.5.1"
)

zerlegen lassen, dann brauchst du ja nur sowas zu machen wie
x[2] = y(x[2]); x[5] = y(x[5]); x[8] = y(x[8]); ; x[11] = y(x[11]);

mit
function y(text) {
return substr(1, text);
}

fertig.


RE: PHP preg_split - Luca - 02.04.2013 09:34

Storage-Base.de schrieb:

Luca schrieb:
Sieht das für dich so aus wie das was ich oben geschrieben hab?


Findest du das nun nicht etwas unhöflich?

Ich hätte nun auch an explode gedacht.


Nicht unhöflich gemein, aber ich habe auch als erstes an explode gedacht, das ist nun mal das erste woran man denkt...


simon_s schrieb:
kannst du dir das nicht mit einem regulären ausdruck in etwas wie

x = Array(
[1] => "§f",
[2] => "§l",
[3] => "$Mc",
[4] => "§c",
[5] => "§l",
[6] => "$Austria ",
[7] => "§n",
[8] => "§a",
[9] => "$Now on ",
[10] => "§3",
[11] => "§l",
[12] => "$1.5.1"
)

zerlegen lassen, dann brauchst du ja nur sowas zu machen wie
x[2] = y(x[2]); x[5] = y(x[5]); x[8] = y(x[8]); ; x[11] = y(x[11]);

mit
function y(text) {
return substr(1, text);
}

fertig.


Nein, das geht leider nicht. Aber mir ist gerade die Idee gekommen das ganze in einzelne Zeichen zu zerlegen (explode mit ""). Mal sehen ob's klappt...

//edit: explode mit "" ist natürlich quatsch, ich meinte mit str_split()