| |
|
|
| | есть мета-данные. которые представляют собой массив типа array(name,properties,content).
строка состоит из таких массивов с разными данными)
проблема состоит в том что я не знаю как обращаться к массиву в строке по имени чтобы получить все данные массива) глупый вопрос, но я не понимаю.
предистория:
была строка "first второй 3"
преобразованная в array('text','english','first') array('text','russian','второй') array('num','none','3')
подскажите, пожалуйста. | |
| |
|
|
| |
|
|
| |
для: prosaic
(19.03.2007 в 12:16)
| | | Не очень, если честно, понятно, что вызывает сложности? | |
| |
|
|
| |
|
|
| |
для: cheops
(19.03.2007 в 12:42)
| | | когда я пишу echo $str; где $str это получаемая строка у меня выводится arrayarrayarrayarray.
если print_r($str) - тоже самое. делаю ли я ошибку при замене текста на массив в строке, используя str_replace() ?
если нет, то:
как получить данные из массива, указывая только ключ name?
если да, то:
как мне поступить? | |
| |
|
|
| |
|
|
| |
для: prosaic
(19.03.2007 в 12:56)
| | | Приведите пример поточнее.
Напишите массив, который у Вас есть. $arr = array( ...
Ключи, которые на входе.
И строку, которую хотите получить.
Потому что, по тем данным которые Вы привели, достоверно не определить даже то, числовой у Вас массив или ассоциативный. | |
| |
|
|
| |
|
|
| |
для: Trianon
(19.03.2007 в 13:02)
| | | preg_match_all("|<[^>](.*)+>|U", $nstr, $out, PREG_SET_ORDER);
$n=count($out)-1;
for ($i=0;$i<=$n;$i++)
{
$ar1 = $out[$i][0];
$ar2 = str_replace("<","",$ar1);
$ar2 = str_replace(">","",$ar2);
preg_match_all("[\S+]", $ar2, $outar, PREG_SET_ORDER);
$m=count($outar)-1;
if ($m>0)
{
$ar0 = $outar[0][0]; //тег
$ar2 = "";
for ($y=1;$y<=$m;$y++) {
if ($y>1) {
$ar2 = $ar2." ".$outar[$y][0]; //свойства
} else {
$ar2 = $outar[$y][0]; //свойства
}
}
} else {
$ar0 = $outar[0][0]; //тег
}
$my = array('tag'=>$ar0,'cont'=>$ar1,'prop'=>$ar2);
$ny = array($i=>$my);
$nstr = str_replace($my["cont"],"{$ny[$i]}",$nstr);
}
echo $nstr;
вот код. мне кажется что в нём где-то есть синтаксическая ошибка. потому что на выходе получается не то, что задумано.
на входе теги с текстом. разбиваются на массивы: текст, теги со свойствами (array(tag,cont,prop)). далее заменяю строку с тегами и текстом на массивы.
вывожу массив. получаю arrayarrayarrayarrayarray | |
| |
|
|