|
|
|
| Хочу написать скрипт, чтобы в ведёном тексте заменялись некоторы еслова, которые в базе(текстовой), А остальные оставались также. Базу разместить в других файлах.
Вот что пока намутил:
<?
$text="сам текст на ошибки";
$rus = array ("текст", "ошибка");
$eng = array ("текст - заменяющий его", "ошибка - заменяющий его");
echo str_replace ($rus, $eng, $text);
?>
|
Как правильно разместить $rus и $eng в отдельных файлах, допустим в .txt?
Пробовал так:
<?
$text="проверка самого текста на ошибки";
$rus = file("rus.txt");
$eng = file("eng.txt");
echo str_replace ($rus, $eng, $text);
?>
|
Но переводиться, только если в html форму ввести слова в стольбик! А так нет. Что делать? | |
|
|
|
|
|
|
|
для: HerSystem
(29.03.2006 в 18:34)
| | Оформите блок
<?php
$rus = array ("текст", "ошибка");
$eng = array ("текст - заменяющий его", "ошибка - заменяющий его");
?>
|
в виде отдельного файла и присоединяйте его к другим файла при помощи конструкции require_once():
<?php
require_once("base.php");
$text="проверка самого текста на ошибки";
echo str_replace ($rus, $eng, $text);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(29.03.2006 в 18:57)
| | А мысл? Я же хочу слова в отдельные файлы положить, чтобы удобнее было их редактировать, добавлять и так далее. Согласись это удобнее... | |
|
|
|
|
|
|
|
для: HerSystem
(29.03.2006 в 20:12)
| | Есть хорошая поговорка: программа делает то, что просит от нее пользователь, а не то что он хочет чтобы она сделала.
Собственно, какого вы поведения ожидали от функции file() и чем вы недовольны? | |
|
|
|
|
|
|
|
для: Loki
(29.03.2006 в 21:01)
| | Непонял? Что ты этим хотел сказать. Ты лудше помоги... | |
|
|
|
|
|
|
|
для: HerSystem
(29.03.2006 в 22:30)
| | Локи намекает на то, что file() выводит каждую новую строчку в качестве элемента массива. | |
|
|
|
|
|
|
|
для: Akira
(30.03.2006 в 07:45)
| | И что мне делать? Я чайник. | |
|
|
|
|
|
|
|
для: HerSystem
(30.03.2006 в 12:21)
| | продумать организацию данных. Не хотите в столбик - пишите в строчку, но тогда file() вам не помошник. Используйте file_get_contents, а потом explode | |
|
|
|
|
|
|
|
для: Loki
(30.03.2006 в 12:46)
| | Так я и хочу в столбик!!!
Может вы меня не правильно поняли:
Я хочу чтобы скрипт заменя слова(из файла) в тесте, который я введу.
Чтобы слова хранились в отдельных файлах(или файле). В столбик! Чтобы удобнее было их добавлять, редактировать.
Как мне осуществить чтение из файлов, чтобы скрипт переводи?
Наверняка вам всем известно... Это на мой взгляд просто, хотя я и не умею. | |
|
|
|
|
|
|
|
для: HerSystem
(30.03.2006 в 13:47)
| | Вероятно вам мешают Windows-переводы строк, модифицируйте ваш код следующим образом
<?
$text="проверка самого текста на ошибки";
$rus = file("rus.txt");
foreach($i = 0; $i < count($rus); $i++) $rus[$i] = trim($rus[$i]);
$eng = file("eng.txt");
foreach($i = 0; $i < count($eng); $i++) $eng[$i] = trim($eng[$i]);
echo str_replace ($rus, $eng, $text);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(30.03.2006 в 14:02)
| | Скопировал полностью твой код но он Ошибку выдаёт parse error, unexpected ';' в строке foreach($i = 0; $i < count($rus); $i++) $rus[$i] = trim($rus[$i]);
Что делать? | |
|
|
|
|
|
|
|
для: HerSystem
(30.03.2006 в 14:29)
| | foreach поменять на for . Опечатка это. | |
|
|
|
|
|
|
|
для: Trianon
(30.03.2006 в 14:42)
| | Всё Спасибо всем кто помогал хоть как-то! Всё получилось! | |
|
|
|
|
|
|
|
для: HerSystem
(30.03.2006 в 15:04)
| | ... разобрался ... | |
|
|
|