Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
serauto79
-22 / 2 / 3
Регистрация: 02.04.2015
Сообщений: 452
#1

Как сделать такую замену в текстовике - PHP

18.08.2017, 13:22. Просмотров 155. Ответов 2
Метки нет (Все метки)

Как мне сделать такое?


есть текстовый файл (text.txt)
внутри него есть допустим 100 строк, такого вида

_______________________

HTML5
1
2
3
4
5
6
7
8
9
Как блокнотик <zamena> перелистав,
Начинаешь <zamena> жизни удивляться:
Скоро сорок! Просто буквы <zamena>
А <zamena> мне тоже было восемнадцать!
 
Шар земной <zamena>, крутясь вокруг оси.
День до вечера – вся  жизнь в <zamena>
Сколько <zamena> в дурацком каламбуре:
Скоро <zamena> Букву Ка перенеси…
_______________________

теперь есть массив со словами
PHP
1
$name = array('даша','маша','таня','паша','лера','света');
логика скрипта такая, скрипт открывает файл (text.txt)
ищет в строках тег <zamena> и вместо него подставляет слова из масива по порядку, даша, маша, таня, паша, лера, света

если например в файле (text.txt) 1000 строк, а в массиве только 100 слова
то скрипт считает количество строк в файле и делит их на кол слов в массиве и после этого по порядку их свтавляет.
http://www.cyberforum.ru/php-beginners/thread1346494.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2017, 13:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как сделать такую замену в текстовике (PHP):

Как сделать замену слов через сравнение
Привет, подскажите как сделать сравнение, а потом замену по результату....

Как сделать замену месяца из цифр на слово
Привет, подскажите как сделать замену в переменной $last_data содержится дата...

Как сделать такую проверку?
Пытаюсь сделать проверку существует ли картинка с названием pict в папке.....

Как сделать такую галерею?
Как сделать такую галерею? http://www.gbmt.ru/ru/display/3d.php Если вас не...

Как сделать такую загрузку?
Подскажите пожалуйста, уважаемые программисты, как можно сделать у себя, то...

2
kristow
0 / 0 / 2
Регистрация: 27.11.2013
Сообщений: 56
18.08.2017, 18:31 #2
Можно решить вот так
Пробовал, у меня работает.
PHP
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
29
$text = "
Как блокнотик <zamena> перелистав,
Начинаешь <zamena> жизни удивляться:
Скоро сорок! Просто буквы <zamena>
А <zamena> мне тоже было восемнадцать!
 
Шар земной <zamena>, крутясь вокруг оси.
День до вечера – вся  жизнь в <zamena>
Сколько <zamena> в дурацком каламбуре:
Скоро <zamena> Букву Ка перенеси…";
 
$name = array('даша','маша','таня','паша','лера','света');
$search = '<zamena>';
$count = count($name);
for($i=0; $i<=$count;$i++){
    if($i== $count){
        $pos = strpos($text, $search);
        if ($pos !== false) $i=0;
        else continue;
    }
    $text = str_replace_once($search, '<b>'.$name[$i].'</b>', $text);   
}
echo $text;
 
function str_replace_once($search, $replace, $text) 
{ 
   $pos = strpos($text, $search); 
   return $pos!==false ? substr_replace($text, $replace, $pos, strlen($search)) : $text; 
}
0
mrNTF
272 / 200 / 142
Регистрация: 22.01.2016
Сообщений: 637
19.08.2017, 13:14 #3
PHP
1
2
3
4
5
6
7
8
9
10
$text = file_get_contents('text.txt');
$name = array('даша','маша','таня','паша','лера','света');
$i = 0;
$c = count($name);
 
echo preg_replace_callback ('~<zamena>~',
function ($m) use ($name, &$i, $c) {
    if ($i >= $c) $i = 0;
    return $name[$i++];
}, $text);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2017, 13:14
Привет! Вот еще темы с решениями:

Как сделать такую защиту от дурака?
Скрипт обрабатывает POST с формы и читает элемент в переменную, а на форме он...

Как сделать такую форму загрузки картинок
Мне нужна такая форма загрузки картинок, которая: 1. Позволяет загружать...

Как сделать кнопку такую как у vksaver?
Здравствуйте. У меня такой вопрос как сделать что бы моя кнопка отображалась...

Сделать замену макросов в шаблоне
Файл fullstory.tpl &lt;div class=&quot;table&quot;&gt; &lt;ul class=&quot;table&quot;&gt; &lt;li&gt;&lt;b&gt;Дата...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru