Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Как обработать переменную?
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Без описания
Vladimir
Отправлено: 12 Января, 2010 - 06:50:39
Post Id


Advanced Member


Покинул форум
Сообщений всего: 270
Дата рег-ции: Апр. 2005  

Карма 0




Имеется переменная
$text = "Строка 1
Строка 2
Строка 3
Строка 4
...";

Как её преобразовать в следующий вид:
$text = "1|Строка 1|0
2|Строка 2|0
3|Строка 3|0
4|Строка 4|0
...";

Слева - нумерация строк, | - разделитель.
Что-то наподобие того, что в текстовой БД.
 
 Top
Davinchi
Отправлено: 12 Января, 2010 - 07:06:08
Post Id


Full Member


Покинул форум
Сообщений всего: 152
Дата рег-ции: Нояб. 2006  

Карма -2




как вариант разбить строку в массив по пробелам, а дальше записать в новую переменную
CODE:

$i|$arr[j]$arr[j+1]|0

есть варианты проще наверно но первый в голову пришел этот
Работоспособность не проверял
 
 Top
Vladimir
Отправлено: 12 Января, 2010 - 12:14:07
Post Id


Advanced Member


Покинул форум
Сообщений всего: 270
Дата рег-ции: Апр. 2005  

Карма 0




Как каждую строку обрабатывать?
 
 Top
Davinchi
Отправлено: 12 Января, 2010 - 17:03:49
Post Id


Full Member


Покинул форум
Сообщений всего: 152
Дата рег-ции: Нояб. 2006  

Карма -2




CODE:

<?php
$text="Строка 1 Строка 2 Строка 3 Строка 4";
$arr=explode(" ",$text);
$text_new="";
$j=0;
for($i=0; $i<count($arr); $i=$i+2){
$text_new=$text_new."|".$j."|".$arr[$i]." ".$arr[$i+1]."|0";
$j++;
}
echo $text_new;
?>
 
 Top
Vladimir
Отправлено: 13 Января, 2010 - 02:58:13
Post Id


Advanced Member


Покинул форум
Сообщений всего: 270
Дата рег-ции: Апр. 2005  

Карма 0




CODE:
<?php
$text="Строка1
Строка2
Строка3
Строка4
Строка5
Строка6
Строка7
Строка8";
$arr=explode("\n",$text);
$text_new="";
$j=1;
for($i=0; $i<count($arr); $i=$i+1){
$text_new=$text_new."<".$j.">".$arr[$i]."*0*<br>";
$j++;
}

echo $text_new;
?>
Попробовал так, получается:

<1>Строка1 *0*
<2>Строка2 *0*
<3>Строка3 *0*
<4>Строка4 *0*
<5>Строка5 *0*
<6>Строка6 *0*
<7>Строка7 *0*
<8>Строка8*0*

Но в дальнейшем переменную $text_new невозможно обработать.

(Отредактировано автором: 13 Января, 2010 - 03:40:11)

 
 Top
Vladimir
Отправлено: 13 Января, 2010 - 04:20:18
Post Id


Advanced Member


Покинул форум
Сообщений всего: 270
Дата рег-ции: Апр. 2005  

Карма 0




Ещё немного изменил и получилось следующее:
CODE:
<?php
$text="Строка1
Строка2
Строка3
Строка4
Строка5
Строка6
Строка7
Строка8";
$arr=explode("\n",$text);
$text_new="";
$j=0;
for($i=0; $i<count($arr); $i=$i+1){
$j++;
$text_new=$text_new."[<c=".$j.">".$arr[$i]."<x=".$j."><0>]<br>";
}

echo $text_new;
?>


Результат обработки:

[<c=1>Строка1
<x=1><0>]<br>[<c=2>Строка2
<x=2><0>]<br>[<c=3>Строка3
<x=3><0>]<br>[<c=4>Строка4
<x=4><0>]<br>[<c=5>Строка5
<x=5><0>]<br>[<c=6>Строка6
<x=6><0>]<br>[<c=7>Строка7
<x=7><0>]<br>[<c=8>Строка8<x=8><0>]<br>

(теги <br> стоят временно)
Как теперь в этом тексте можно изменять <0> на 0+1 ?
То есть, если x=1, то тот ноль, что правее - превращается в 1. При аналогичном обращении - в 2. И т.д.
Если необходимо, то <0> можно заменить, например, на <y=0>.
 
 Top
Davinchi
Отправлено: 16 Января, 2010 - 11:05:25
Post Id


Full Member


Покинул форум
Сообщений всего: 152
Дата рег-ции: Нояб. 2006  

Карма -2




тогда лучше поставить y=0 дальше найти последнее вхождение "y=" в строке и заменить следующий символ на нужный
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.032]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33