Как проще делать экранирование?

Тема в разделе "Как сделать...", создана пользователем spiderbuber, 6 фев 2012.

  1. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    В php коде нужно по клику втавлять php (сорри за масло масленое) и потом исполнять его.
    PHP:
    <?php  
    echo('<form action="" method="post" name="form">');
    echo(
    '<textarea name="eval" rows=20 cols=120></textarea><br/><br/>
    <a href="#" onclick="insert(\'$masiv = array\(\')">1</a><br/>
    <a href="#" onclick="insert(\'123\')">2</a><br/>
    </form>
    <script language="JavaScript">function insert(txt) { form.eval.value+=""+txt+""; form.eval.focus(); } </script>'
    );
    ?> 
    Запарился с экранированием.. Не могу экранировать одинарную кавычку..
    Например, хочу вставить это:
    PHP:
     $masiv = array('../robots.txt''../../config.php');
    foreach (
    $masiv as $readme) {
    if (
    file_exists($readme)) { echo $readme." - "; print substr(sprintf('%o'fileperms($readme)), -4); readfile($readme); } 
    else { echo 
    "No file - $readme | "; }} 
    Кода вставлять нужно очень много.. Как сделать проще?
     
  2. griffon

    griffon Создатель

    Регистр.:
    12 авг 2006
    Сообщения:
    29
    Симпатии:
    3
    $body = str_replace("'", "\'", $source);
     
  3. d1mka

    d1mka Постоялец

    Регистр.:
    20 мар 2007
    Сообщения:
    92
    Симпатии:
    23
    $body = addslashes($source);
     
  4. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    Не соображу как в моем конкретном примере замутить это...
    Вот этих строк будет оооочень много...
     
  5. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    тут чето перемудил с массивом:
    не пробовал вычленить html из php?
    PHP:
     
    <?php 
    ....
    ?>
    <form action="" method="post" name="form">
    <textarea name="eval" rows=20 cols=120></textarea><br/><br/>
    <a href="#" onclick="insert('$masiv = array()')">1</a><br/>
    <a href="#" onclick="insert('123')">2</a><br/>
    </form>
    <script language="JavaScript">function insert(txt) { form.eval.value+=""+txt+""; form.eval.focus(); } </script>
    <?php 
    ....
    ?>
     
     
  6. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    нет. так не подойдёт
     
  7. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    есть какая то веская причина?
     
  8. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    Ну вот попробуй в тот код, что ты привел выше, вставить полный запрос
     
  9. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    если я правильно понял тебе в html код нужно включить php переменные... Вот где нужно вставить, там php и объяви...
    PHP:
    <?php
    ....
    ?>
    <form action="" method="post" name="form">
    <textarea name="eval" rows=20 cols=120></textarea><br/><br/>
    <a href="#" onclick="insert('<?php $masiv = array() ?>')">1</a><br/>
    <a href="#" onclick="insert('123')">2</a><br/>
    </form>
    <script language="JavaScript">function insert(txt) { form.eval.value+=""+txt+""; form.eval.focus(); } </script>
    <?php
    ....
    ?>
    А в принципе нужно изначально корректно ТЗ задавать, тогда лишних вопросов не будет!
     
  10. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    2dino, опять не то. ТЗ самое что ни есть корректное. Нужно, чтобы в поле textarea по клику вставился ПХП код..
    Скоприруйте мой первый код из первого поста и попробуйте в него вставить второй код из первого же поста.
    Если не понятно, конкретно вот сюда