Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PI_lektsii_2016.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
6 Мб
Скачать
☆

12.11 Функції перетворення регістру (strtolower (), strtoupper (), ucfirst (), ucwords ())

12.11.1 strtolower ().

Функція виробляє перетворення символів рядка в нижній регістр.

Синтаксис:

string strtolower (string str)

Приклад:

<?

    $ Str = "HELLO WORLD";

    $ Str = strtolower ($ str);

    echo $ str; // Виведе "hello world"

?>

12.11.2 strtoupper ().

Виробляє перетворення рядка в верхній регістр.

Синтаксис:

string strtoupper (string str)

Приклад:

<?

    $ Str = "Hello World";

    $ Str = strtoupper ($ str);

    echo $ str;

    // Виведе HELLO WORLD

?>

12.11.3 ucfirst ().

Виробляє перетворення першого символу рядка в верхній регістр.

Синтаксис:

string ucfirst (string str)

Функція повертає рядок, з заголовним першим символом. При конвертації символів кирилиці можуть бути непорозуміння:

<?

   $ Str = "hello world";

   $ Str = ucfirst ($ str);

   echo $ str;

   // Виведе Hello world

?>

12.11.4 ucwords ().

Виробляє перетворення першого символу кожного слова рядка в верхній регістр.

Синтаксис:

string ucwords (string str)

Повертає рядок, у якій перший символ кожного слова в рядку титульний.

Під словом розуміється ділянка рядка, якому передує символ відступу: відступ, перехід на новий рядок, прогін сторінки, повернення каретки, горизонтальна і вертикальна табуляція.

<?

   $ Str = "hello world";

   $ Str = ucwords ($ str);

   echo $ str;

   // Виведе Hello World

?>

??????????

????????????

12.13 Функція htmlspecialchars

Взагалі кажучи, ця функція належить до функцій перетворення символів. Цю функцію ми винесли в самий початок через те, що вона робить одну просту, але важливу річ – виробляє перетворення спецсимволів в їх HTML еквіваленти.

Попросту кажучи, ця функція гарантує, що якщо ви раптом надумаєте написати в гостьовій книзі або на форумі якийсь код (php, javascript і т.д.) він відобразиться абсолютно нормально, але виконуватися не буде! Тобто функцію треба застосовувати, якщо потрібно вивести в броузері якийсь код. Крім того, ця функція позбавляє Вас від будь-яких кретинів, яким нічим зайнятися окрім як писати в Ваших гостьових книгах (і будь-яких формах введення) будь-які скрипти. Ну а тепер, власне, про функції.

Синтаксис:

string htmlspecialchars (string str [, int quote_style [, string charset]]);

Перший аргумент – рядок, в якому треба виконати перетворення. В якості другого необов'язкового аргументу приймається одна з двох констант: ENT_QUOTES або ENT_NOQUOTES. Перша константа передається якщо треба транслювати лапки, а друга, якщо цього робити не треба. Третій необов'язковий аргумент приймає рядок, що представляє набір символів, що використовуються в перетворенні (за замовчуванням ISO-8859-1).

Наприклад, якщо Ви обробляєте якесь повідомлення $ msg форми, то обробка його функцією htmlspecialchars () можлива в такий спосіб:

$ Msg = htmlspecialchars ($ msg);

Як бачите, все просто. А для того, щоб у Вас все це гарненько запам'яталося наведемо такий повчальний приклад, який, сподіваємося, змусить Вас не забувати про цю функцію.

Давайте напишемо примітивний php скрипт, який буде відображати дані, що вводяться в формі:

<?

    $ Action = $ HTTP_POST_VARS ["action"];

    if (empty ($ action))

    {

    ?>

       <HTML>

       <HEAD>

       <TITLE> Приклад </ TITLE>

       </ HEAD>

       <BODY>

       <Center>

       <Table width = 1 border = 0>

       <Form action = test1.php method = post>

          <Input type = hidden name = action value = post>

          <Tr> <td colspan = 2> Повідомлення <br> <textarea cols = 50 rows = 8 name = msg>

          <? echo $ msg; ?>

          </ Textarea> </ td> </ tr>

          <Tr> <td colspan = 2> <input type = submit value = 'Додати'> </ td> </ tr>

       </ Form>

       </ Table>

       </ Center>

       </ BODY>

       </ HTML>

    <?

    }

?>

Нічого складного, просто форма для вводу повідомлення. Виводиться і обробляється введене повідомлення файлом, зазначеним action'е форми (test1.php). Код, написаний в цьому файлі теж простий:

<?

   $ Msg = substr ($ HTTP_POST_VARS [ "msg"], 0,1024);

   $ Msg = htmlspecialchars ($ msg);

   print "<P>". $ msg. "</ P> \ n";

?>

Ніби як все зрозуміло. Виділяємо з змінної $ HTTP_POST_VARS повідомлення (про функції substr () дивіться трохи нижче), обробляємо це повідомлення функцією htmlspecialchars () і виводимо.

А тепер давайте трохи пожартуємо, і введемо в форму для введення повідомлення замість невинного тексту ось такий javascript-код (поки теж нешкідливий):

<Script Language = "JavaScript">

   alert ( "Привіт!"); // Функція виведення в JavaScript

</ Scrip

Тобто наша форма прийме наступний вигляд(див. Рис. 12.1)

Рисунок 12.1 - Назва

У разі, якщо при обробці повідомлення ми використовували цю чудо-функцію, нічого страшного не станеться і ми просто побачимо текст, який набрали(див. Рис. 12.2).

Рисунок 12.2 - Назва

Приклад коду:

<Script Language = "JavaScript"> alert ("Привіт!"); </ Script>

А ось якщо, ми не обробили повідомлення функцією htmlspecialchars () (закоментуйте рядок $ msg = htmlspecialchars ($ msg); в test1.php), то ми побачимо вже не текст скрипта, а результат його виконання(див. рис. 12.3).

Рисунок 12.3 - Назва

Як розумієте, "привіт" може бути зовсім не таким шкідливим.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]