Autor Zpráva
Kolemjdouci
Profil *
Zdravím,

mám ve stringu $edit cca toto "Audi V8 [C]250000 Kč[/C]" a rád bych to použil rozdělené.
Tudíž jako a) "Audi V8" a poté 2) "250000 Kč".

Jak to rozsekat na tyto výsledky? Reguláry mi dělají problém.

Děkuji
Str4wberry
Profil
Když vám dělají problém regulární výrazy, tak z řetězce odstraňte „[/C]“ a zbytek rozdělte podle „ [C]“.
Kolemjdouci
Profil *
Str4wberry:
OK, můžeš mi ukázat zápis? Já potřebuji odstranit i obsah mezi [C].
Fisir
Profil
Reaguji na Kolemjdouciho:
Reguláry mi dělají problém.
Tenhle nefunguje?
(.*) \[C\](.*)\[\/C\](.*)

preg_match("/(.*) \[C\](.*)\[\/C\](.*)/i",$edit,$matches);
$a = $matches[1];
$b = $matches[2];
Kubo2
Profil
Kolemjdouci:
Síce sa s tým celkom rád hrám, ale mám teraz málo času, tak ti sem hodím iba jednoduchý regulár:
<?php
// osekne retazec
$auto = "Audi V8 [C]250000 Kč[/C]";
$regular = "~(.*)\[C\].*\[/C\](.*)~i";
$oseknuty = preg_replace($regular, "$1$2", $auto);

// vypíše "Audi V8 "
echo('"' . $oseknuty . '"');

Živá ukážka
Kolemjdouci
Profil *
Děkuji!
Str4wberry
Profil
Já to myslel nějak takto:
$text = "Audi V8 [C]250000 Kč[/C]";
$text = str_replace("[/C]", "", $text);
list($auto, $cena) = explode(" [C]", $text);

echo "Auto: $auto, cena: $cena";

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: