Автор Тема: массив  (Прочитано 4237 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
массив
« : 14 Августа 2002, 11:03:44 »
Как функцией ereg_replace заменить все элементы массива нужным значением.
нужно:

$name 
ereg_replace ("\\n""
"
$name);
$name ereg_replace ("\\r"""$name);
:)
the cold war is not over...

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
массив
« Ответ #1 : 14 Августа 2002, 11:34:07 »
Лучше используй preg_replace

$pattern 
= array(
      \
'!\\n!\',
      \'!\\r!\'
);
$replace = array(
      "
",
      ""
);
$name = preg_replace($pattern, $replace, $name);

А еще лучше не мучиться, а использовать str_replace либо strtr
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн Ardzhan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 205
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ardzhan.km.ru
массив
« Ответ #2 : 14 Августа 2002, 13:22:26 »
Цитировать
str_replace либо strtr

Да... И быстрее будет. Регулярки юзают только когданужны причудливые правила замены. А для замены символа перевода каретки на
 в пхп есть спец оператор nl2br()

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
массив
« Ответ #3 : 14 Августа 2002, 14:00:23 »
Цитировать
в пхп есть спец оператор nl2br()

че за оператор, как им поьлзоываться?
А еще есть какой-нибудь оператор удаления HTML - тегов?
вместо < например писать <?

Цитировать
$pattern = array(
      \'!\\n!\',
      \'!\\r!\'
);
$replace = array(
      "
",
      ""
);
$name = preg_replace($pattern, $replace, $name);

 
$name  -  вроде не массив здесь.

Через list ($each, $key) буду лучше использовать...
the cold war is not over...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
массив
« Ответ #4 : 14 Августа 2002, 14:10:40 »
andtar
регулярные выражения работают со строками. Так что в любом случае придется работать с каждым элементом отдельно.
УДАЛЕНИЕМ тегов занимается функция strip_tags
ЗАМЕНОЙ на HTML коды - htmlspecialchars()

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
массив
« Ответ #5 : 14 Августа 2002, 14:33:22 »
1.

for($i=0;$i<sizeof($array);++$i)
{
ereg_replace("чем","что",$array[$i]);
}

2.

$data
=join(":::---:::",$array);# ":::---::::" - разделитель придуманный просто так
str_replace(...);
$array=split(":::---:::",$data);

3.

function blabla(&$item)
{
$item=ereg_replace("чем","что",$item);
}
array_walk($array,"blabla");
« Последнее редактирование: 14 Августа 2002, 14:40:06 от AlieN »
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
массив
« Ответ #6 : 14 Августа 2002, 14:55:33 »
ладно массив мне не надо уже.
с удалением hTML понятно, теперь другое надо:

массив $array = file ($file);
как разбить сообщения на несколько запросов  без использования MySQL?
Т.е. на стрнице должны быть значения:
1-10 | 11-20| 21-30
Это в основном у всех в гостевых книгах.
да, и в файле придется explode использовать $d = explode ("~", $ar);
the cold war is not over...

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
массив
« Ответ #7 : 14 Августа 2002, 15:15:50 »
эелементарно:

if(!$page or $page<1){$page=1;}
--
$page;
$array=file($file);
$start=$page*10;
for(
$i=$start;$i<$start+10;$i+=10)
    {
    echo 
$array[$i];
    }
for(
$i=0;$i<$sizeof($array);$i+=10)
	
{
	
$page_print=$i/10+1;
	
if(
$page_print-1==$page){echo "<b>$page_print</b>  ";continue;}
	
print 
"<a href=\\"file.phtml?page=$page_print\\"> $page_print</a>  ";
	
}
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
массив
« Ответ #8 : 14 Августа 2002, 15:30:32 »
не знал, что так мало писанины.

Еще последний вопрос:
В URL пробел - %20,  а как будет выглядеть точка?
the cold war is not over...

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
массив
« Ответ #9 : 14 Августа 2002, 15:36:57 »
andtar
Так и будет выглядеть
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
массив
« Ответ #10 : 15 Августа 2002, 05:57:03 »
ну тогда ладно, всем спасибо...
the cold war is not over...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28