Не могу избежать строки с addcslashes () - PullRequest
1 голос
/ 18 февраля 2012

Я пытаюсь не научиться избегать простых персонажей.Я печатаю ASCII символа>.Но когда я печатаю его после использования функции addcslashes .. ничего не экранируется.Почему это так?

     $da=ord('>'); 
     echo $da."<br/>";
     $not_escaped="><?";
      $escaped = addcslashes($not_escaped, "\61...\64");
      echo  $escaped;

Я следовал их документации ... но мой пример выше не работает.Ты также используешь 2 разделителя! @ Между диапазонами номеров ASCII. Что это значит?

$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");

1 Ответ

1 голос
/ 18 февраля 2012

ASCII-коды в $charlist восьмеричные, а не десятичные.Таким образом, чтобы экранировать «>» (десятичное число: 62, восьмеричное: 76), используйте этот код:

$escaped = addcslashes($not_escaped, "\76");

Для диапазона используйте две точки, а не три ('a..z', а не 'a... г ').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...