slash^
10.12.2004, 20:34:28
Witam
czy da się zrobić explode`a, aby rozdzielał string na tablicę poprzez nie jeden, a dwa różne znaki ?
np.
explode ('/', 'ab/cd/ef/'); zrobi mi [0]=> ab [1]=> cd [2] => ef
a chce otrzymac cos takiego, aby ze stringa:
'ab/cd\ef/gh' stalo sie [0]=> ab [1] => cd [2] => ef [3] => gh,
czyli krótko mowiąc znaki / i \ były pomijane a to co pomiedzy nimi wartosciami poszczegolnych rekordow tabeli...
Kuziu
10.12.2004, 20:35:34
najpierw użyj strreplace do zamiany znaków "/" na "\" a potem użyj explode lub split jak wolisz
tiraeth
10.12.2004, 20:43:13
<?php
$string = 'ab/cd/efghij/kl';
$array = explode(\"/\", $string); ?>
zwróci tablicę
bregovic
10.12.2004, 20:45:37
Nie możesz użyć do tego
explode" title="Zobacz w manualu PHP" target="_manual - zato możesz zrobić tak:
<?php
$strData=\"ab/cdef/gh\";
?>
Możesz też użyć wyrażeń regularnych - ale nie używaj ich jeśli da sie je ominąć.
---Edit:
Tiraeth - byłeś szybszy
dr_bonzo
10.12.2004, 21:26:03
<?php
$strData=\"ab/cdef/gh\";
$Data_1 = explode( \"\", $strData );
foreach ( $Data_1 as $i )
{
$new_tab = explode( \"/\", $Data_1 ); foreach ( $new_tab as $z )
{
$wynik[] = $z;
}
}
?>
Hmmm... jednak regexpy wygladaja lepiej
bregovic
11.12.2004, 13:56:58
IMO uzywanie regexów w tym wypadku to przerost formy nad treścą. Armata na komara.