Нужна небольшая помощь в PHP

olll
На сайте с 07.11.2006
Offline
116
439

Здравствуйте!

В php я нибумбум практически. Подскажите пожалуйста. Суть проблемы в следующем:

Я беру из файла случайную из 5 строк (там цвета в формате #ffffff разные в каждой строке) и подставляю в файл.

Делаю эо следующим кодом:


<?
$word=file('1.txt');
$p = rand (0, 4);
$k = $word[$p];
?>
1
<font color='<? echo $k ?>'>!!!!!!!!</font>

В итоге я получаю


<font color='#ffffff
'>!!!!!!!!</font>

Т.е. строка переносится (кроме случая, когда берётся последняя строка). Как мне это исправить?

Заранее спасибо.

I
На сайте с 21.02.2008
Offline
117
#1

Вот пример удаления переноса строк:

$text = str_replace('\r\n', '', $text);

$text = str_replace('\n', '', $text);

т.е. \r\n - это в win кодировке удаляет переносы строк

а \n - это в unix кодировке удаляет переносы строк

HC
На сайте с 24.05.2006
Offline
46
#2

ippoman, не будет работать, '\r\n' - это 4 байта с текстом, а "\r\n" - 2 байта с переводом строки.

А вообще проще trim()-ом обработать - http://ru2.php.net/trim

Система управления сайтом HostCMS (http://www.HostCMS.ru) - многосайтовость, множество модулей, обмен с 1С, бесплатная версия. Скидка 40% на систему управления для дилеров (http://www.hostcms.ru/partners/partnership/) и 20% для партнеров-фрилансеров (http://www.hostcms.ru/partners/freelance/).
olll
На сайте с 07.11.2006
Offline
116
#3

Не помогло, сделал во так:

<? 

$word=file('1.txt');
$p = rand (0, 4);
$k = $word[$p];
$k = str_replace('\r\n', '', $k);
?>
1
<font color='<? echo $k ?>'>!!!!!!!!</font>

Или не так я сделал?

HC
На сайте с 24.05.2006
Offline
46
#4

<?php

$word = file('1.txt');
$p = rand (0, 4);
$k = trim($word[$p]);
?>
1
<font color="<?php echo $k ?>">!!!!!!!!</font>
olll
На сайте с 07.11.2006
Offline
116
#5

Спасибо, второй вариант помог :)

HC
На сайте с 24.05.2006
Offline
46
#6

olll,

пожалуйста

kav
На сайте с 21.02.2006
Offline
159
kav
#7

я бы понял, если у вас было не 4, а 100-N*1000 строк ... тогда можно было бы файл читать...

а в вашем случае проще в массив запихнуть и выбирать рандомом один...


<?php

$input= array('1','2','3','4'); //вместо циферок подставляй свои значения ;)

$rand_keys = array_rand($input, 1);

?>

<font color='<? echo $input[$rand_keys[0]] ?>'>!!!!!!!!</font>
Я знаю только то, что ничего не знаю © Сократ а когда я забываю даже это, вспоминаю про..... Форум - это такое место, где 2-е людей могут убедить в своих заблуждениях тысячи
olll
На сайте с 07.11.2006
Offline
116
#8

Ну я просто как то раньше делал нечно подобное таким образом, и решил и здесь тот же метод применить.

PS: то что я раньше пробовал делал - было описано в статье гринвуда ;)

В общем, спасибо, попробую.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий