Замена подстрок

Тема в разделе "PHP", создана пользователем sparsame, 1 мар 2012.

Модераторы: latteo
  1. sparsame

    sparsame Постоялец

    Регистр.:
    20 авг 2011
    Сообщения:
    85
    Симпатии:
    11
    Добрый день подскажите как мне сделать замену подстрок с графической заменой?
    Т.е. есть форма вводим тект и получаем тот же текст только с заменой некоторых слов на рисунки или другие слова... В пхп я дуб...поэтому желательно пример, от которого я уже буду отталкиваться

    как я понял это проходит в 2 этапа

    1 этап форма где мы вводим тект
    <form action="action.php" method="post">
    <p>Ваше имя: <input type="text" name="name" /></p>
    <p>Ваш возраст: <input type="text" name="age" /></p>
    <p>ваш ник: <input type="text" name="string " /></p>
    <p>Ваш комментарий <textarea cols="60" rows="10"></textarea> <input type="submit"</p>


    </form>


    далее пишем action.php

    Что в этом файле нужно писать?
    Если замены статические например слово "фак" заменяется на картинку цензура, а в комментарии слово "http" заменялось на слово "сайт"
    Заранее спасибо...
     
  2. uNknownMark

    uNknownMark

    Регистр.:
    22 сен 2007
    Сообщения:
    393
    Симпатии:
    169
    Что то типа:
    PHP:
    $str 'This is fuck! But sometimes my mind do something like this';
     
    $replace = array();
    $replace['word'] = 'path_to_image';
    $replace['fuck'] = '<img src="img.png" />';
    $replace['mind'] = '<img src="img2.png" />';
     
    $str strtr($str,$replace);
     
    echo 
    $str;
    Только место забитой $str как тут для примера вы напишите что то типа $_POST['имя поля для которого нужно произвести замену']
     
  3. sparsame

    sparsame Постоялец

    Регистр.:
    20 авг 2011
    Сообщения:
    85
    Симпатии:
    11
    разобрался вроде как работает... но возникло куча других вопросов....
    1если делать замену как чтобы не попали слова которые слово но не являются им? допустим слово "без ансамбля"
    2 Как с помощью пхп запысывать переменные из теста после ключевого слова в 5 строке? допустим текст такой login gregeg password gergege, но эти слова могут встречаться в тексте?
     
  4. RayTraceR1

    RayTraceR1 Создатель

    Регистр.:
    27 июн 2009
    Сообщения:
    44
    Симпатии:
    15
    Честно, чтобы получить ответ на твой вопрос, задай его на человеческом языке
     
  5. shaen

    shaen Постоялец

    Регистр.:
    23 июн 2011
    Сообщения:
    51
    Симпатии:
    9
    В action.php получай $_POST

    дальше :

    $name = $_POST['name'];

    c $name делаем необходимые преобразования и т.д.....

    Работа со строками в PHP:
    Перейти по ссылке
     
  6. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    351
    Вопрос вполне нормальный. Его интересует как не проканаться с заменой допустим слово "без ансам**я"
    Для этого нужно текст разбить на слова. Обычно это пробел. Но вы замучаетесь делать это...
    Если действительно нормальный цензурник то там и подмену букв нужно учеть и то что могут просто слово обрамить _мат_ да что угодно....
    А есть резать в наглую все ансамбли пролетят...
    Если же речь идет о том что вам это интересно и не жалко времени то разрабатывайте локику словесную с учетом всех камней и тогда вам помогут с реализацией на крайняк...
     
  7. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    Вижу тут два решения либо заготовленная база где необходимо описать все вариации слов и словосочетаний, либо регулярные выражения что будет более гибким и и менее ресурсо затратным, но мозг взорваться точно, так как продумывать придется ого го го сколько, но думаю можно будет составить и простенькие регулярки для часто употребляющихся слов.