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

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

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: замена текста в строке

Сообщения:  [1-7] 

 
 автор: cheops   (31.01.2006 в 14:03)   письмо автору
 
   для: localGhost   (31.01.2006 в 01:22)
 

Пример использования массивов шаблонов можно посмотреть в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=6&id_theme=12117

   
 
 автор: localGhost   (31.01.2006 в 01:22)   письмо автору
 
   для: DDK   (30.01.2006 в 18:51)
 

>А если встретится текст замены
>({L_xxx}), а соответствующего номеру элемента в массиве не
>окажется ?!...

так это проверить можно. просто нехочеться пробгать по всему массиву..... в массиве буудет допустим 50 элементов, а используеться всего допустим 10. Вы мне подскажите пожалуйста как можно в массив собрать те шаблоны которые встречаються в строке, а я уж дальше соображу....

   
 
 автор: DDK   (30.01.2006 в 18:51)   письмо автору
 
   для: DDK   (30.01.2006 в 18:48)
 

А вообще, Хеопс прав. А если встретится текст замены ({L_xxx}), а соответствующего номеру элемента в массиве не окажется ?!...

   
 
 автор: DDK   (30.01.2006 в 18:48)   письмо автору
 
   для: localGhost   (30.01.2006 в 09:36)
 


<?
$tmpl 
"bla bla {L_333} bla";
$arr[333] = "template";
$tmpl preg_replace("|\{L_([\d]{3})\}|is"$arr["\\1"], $tmpl);
echo 
$tmpl;
?>

Как-то так, но я не знаю, как правильно сделать \\1 ключом массива...

   
 
 автор: localGhost   (30.01.2006 в 16:20)   письмо автору
 
   для: cheops   (30.01.2006 в 13:41)
 

не спорю.. можно и через str_replace.. но если массив большой? может быстрее будет как-то проанализировать код и подставить только то что нужно, нежели пробегать циклом оп всему массиву?

   
 
 автор: cheops   (30.01.2006 в 13:41)   письмо автору
 
   для: localGhost   (30.01.2006 в 09:36)
 

Хм... помоему тут можно обычной функцией str_replace() всё заменить. Вы массив $arr в цикле обходите?

   
 
 автор: localGhost   (30.01.2006 в 09:36)   письмо автору
 
 

нужно заменить шаблон {L_xxxx} заменить на значение из переменной $arr[xxxx], где xxxx - любое число (идентификатор). Таких шаблонов в строке может быть несколько. Помогите пожалуйста написать рег. выражение.

   

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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