Помогите пожалуйста с пхп...

12
J
На сайте с 18.10.2007
Offline
14
915

нужен простенький скрипт выполняющий следующее...

есть форма ввода текста, туда буду вставлять отсканенные материалы... при нажатии на кнопочку, скрипт должен выполнить замены в тексте на установленные... например, все слова "СССР" заменялись на "Российская Федерация" ... порядка 10-14 замен.... и после нажатия, вывести полученный текст...

сам попробовал написать, но не далек в пхп...

вот мой чудо-нерабочий код:

<TEXTAREA name='haystack' COLS=111 ROWS=28 WRAP=VIRTUAL>Текст</TEXTAREA>

<?php

$haystack=eregi_replace("СССР","Российская Федерация", $haystack);

$haystack=eregi_replace("Ленинград","Санкт-Петербург", $haystack);

echo $haystack;

?>

<input type="submit" value="Заменить">

<?exit;?>

Владислав
На сайте с 22.02.2007
Offline
186
#1
JonGol:
поможет PHP Expert Editor
загрузил в него текст и поставил, заменить это на это и все

вот что программисты говорят)

Читайте книжки, больше читайте книжки на самом деле...
Skie
На сайте с 14.10.2006
Offline
161
#2

а по одному, даже в блокноте можно

правка/заменить/ваменить всё

КМ
На сайте с 08.03.2007
Offline
66
#3

:)

Попробуй так:


<form method="POST">
Текст который нужно заменить: <input type="text" name="old_text"><br>
Новый текст: <input type="text" name="new_text"><br>
<textarea name="text" cols="111" rows="28">Текст</textarea><br>
<input type="submit" name="go" value="Заменить"><br>
</form>
<?php
if(!empty($_POST['go']) AND !empty($_POST['text']))exit;
if($_POST['go'] != false AND $_POST['text'] != false)
{
$result = "";
if($_POST['old_text'] != false AND $_POST['new_text'] != false)
{
$result = str_ireplace($_POST['old_text'], $_POST['new_text'], $_POST['text']);
}
else
{
$result = $_POST['text'];
}

echo $result;
}
?>
J
На сайте с 18.10.2007
Offline
14
#4

необходимо уже забить установленные замены (приведенный выше код не подходит)

КМ
На сайте с 08.03.2007
Offline
66
#5

Ну вам не угодишь :)


<form method="POST">
<textarea name="text" cols="111" rows="28">Текст</textarea><br>
<input type="submit" name="go" value="Заменить"><br>
</form>
<?php
if(!empty($_POST['go']) AND !empty($_POST['text']))exit;
if($_POST['go'] != false AND $_POST['text'] != false)
{
$old_text = "текст 1"; //Текст который нужно заменить
$new_text = "текст 2"; //Новый текст
$result = "";
if($old_text != false AND $new_text != false)
{
$result = str_ireplace($old_text, $new_text, $_POST['text']);
}
else
{
$result = $_POST['text'];
}

echo $result;
}
?>
J
На сайте с 18.10.2007
Offline
14
#6

по последнему коду:

при нажатии заменить, он возвращает к исходному виду, т.е. не отображает проделанную работу...

КМ
На сайте с 08.03.2007
Offline
66
#7

)))

а так ?

Я же не полностью рабочий код выкладываю а только процедуру обработки.


<?php
error_reporting(E_ALL & ~E_NOTICE);
$result = "";
if($_POST['go'] != false AND $_POST['text'] != false)
{
$old_text = "текст 1"; //Текст который нужно заменить
$new_text = "текст 2"; //Новый текст
if($old_text != false AND $new_text != false)
{
$result = str_ireplace($old_text, $new_text, $_POST['text']);
}
else
{
$result = $_POST['text'];
}
}
?>
<html>
<head>
<title>Заголовок</title>
</head>
<body>
<div align="center">
<form method="POST">
<textarea name="text" cols="111" rows="28"><?echo $result?></textarea><br>
<input type="submit" name="go" value="Заменить"><br>
</form>
</div>
</body>
</html>

P.S. Функция str_ireplace() работает только на PHP 5

J
На сайте с 18.10.2007
Offline
14
#8

может с ф-ей eregi_replace или str_replace? у меня пхп4 =(((

КМ
На сайте с 08.03.2007
Offline
66
#9

:) :) :)


<?php
error_reporting(E_ALL & ~E_NOTICE);
$result = "";
if($_POST['go'] != false AND $_POST['text'] != false)
{
$old_text = "текст 1"; //Текст который нужно заменить
$new_text = "текст 2"; //Новый текст
if($old_text != false AND $new_text != false)
{
$result = preg_replace("/".$old_text."/i", $new_text, $_POST['text']);
}
else
{
$result = $_POST['text'];
}
}
?>
<html>
<head>
<title>Заголовок</title>
</head>
<body>
<div align="center">
<form method="POST">
<textarea name="text" cols="111" rows="28"><?echo $result?></textarea><br>
<input type="submit" name="go" value="Заменить"><br>
</form>
</div>
</body>
</html>
J
На сайте с 18.10.2007
Offline
14
#10

работает... а как упростить и использовать 10-20 замен....

типа:

$haystack=preg_replace("СССР","Российская Федерация", $haystack);

$haystack=preg_replace("Ленинград","Санкт-Петербург", $haystack);

...

...

чтобы не создавать отдельные переменные для каждой замены...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий