Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск в строке слов из массива (eregi)
 
 автор: Владимир22   (27.03.2007 в 15:28)   письмо автору
 
 

Нужно проверить в короткой строке, есть ли в ней слова из массива и если есть,
то сделать найденное слово в большом регистре.
Вот начал код, но дальше не могу сообразить:

$string="строка";
$slova=array( "вася","петя","ваня");
if (eregi($slova,$string)) strtoupper(найденное слово);

Как здесь обозначить найденное слово? Help!

   
 
 автор: Trianon   (27.03.2007 в 15:56)   письмо автору
 
   для: Владимир22   (27.03.2007 в 15:28)
 

eregi не применяется с массивами. Кроме того, нужно ж не просто обнаружить, но и замену выполнить.
Здесь больше подойдет preg_replace() с модификатором e или preg_replace_callback()

   
 
 автор: Владимир22   (27.03.2007 в 16:30)   письмо автору
 
   для: Trianon   (27.03.2007 в 15:56)
 

Как это выглядит в коде, Trianon, пожалуйста?!

   
 
 автор: Trianon   (27.03.2007 в 19:05)   письмо автору
 
   для: Владимир22   (27.03.2007 в 16:30)
 

<?php
$string
='
Нужно проверить в короткой строке, есть ли в ней слова из массива и если есть,
то сделать найденное слово в большом регистре.
Вот начал код, но дальше не могу сообразить:

$string="строка";
$slova=array( "вася","петя","ваня");
if (eregi($slova,$string)) strtoupper(найденное слово);
Как здесь обозначить найденное слово? Help!
'
;


$words=array( "вася","петя","ваня""слов");
$pattern '/('.implode('|'$words).')/';

$string preg_replace($pattern.'ie'"strtoupper('\\1')"$string);

echo 
nl2br(htmlspecialchars($string));

?>

   
 
 автор: Владимир22   (27.03.2007 в 20:51)   письмо автору
 
   для: Trianon   (27.03.2007 в 19:05)
 

Trianon, просто нет слов, чтобы выразить свою благодарность. Огромное СПАСИБО и пламенный привет из Украины!!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования