7 Робота з рядками
Ця функція належить до функцій перетворення символів, про які ми теж будемо говорити в цьому розділі. Цю функцію ми винесли в самий початок через те, що вона робить одну просту, але важливу річ - виробляє перетворення спецсимволів в їх HTML еквіваленти. Попросту кажучи, ця функція гарантує, що якщо Ви раптом надумаєте написати в гостьовій книзі або на форумі якийсь код (php, javascript і т.д.) він відобразитися абсолютно нормально, але виконуватися не буде!Тобто функцію треба застосовувати, якщо потрібно вивести у броузері якийсь код.Крім того, ця функція позбавляє Вас від всяких кретинів, яким нічим зайнятися окрім як писати в Ваших гостьових книгах (і будь-яких формах вводу) будь-які скрипти. Ну а тепер, власне, про функції. Синтаксис: string htmlspecialchars (string str [, int quote_style [, string charset]]); Перший аргумент - рядок, у якому треба виконати перетворення. В якості другого необов'язкового аргументу приймається константа, що задає режим перетворення лапок. За замовчуванням, використовується ENT_COMPAT, перетворююча подвійні лапки, при цьому поодинокі залишаються без змін. У режимі ENT_QUOTES перетворюються і подвійні, і одиночні лапки. а в режимі ENT_NOQUOTES і подвійні, і одиночні лапки залишаються без змін. Третій необов'язковий аргумент приймає рядок, що представляє набір символів, що використовуються в перетворенні (за замовчуванням ISO-8859-1). Наприклад, якщо Ви обробляєте якесь повідомлення $ msg форми, то обробка його функцією htmlspecialchars () можлива наступним чином: $ Msg = htmlspecialchars ($ msg); Як бачите, все просто. А для того, щоб у Вас все це гарненько запам'яталося наведемо такий повчальний прімерчік, який, сподіваємося, змусить Вас не забувати про цю функцію. Примітивний php скриптик, який буде відображати дані, що вводяться у формі. <?
$ Action = $ _POST ["action"]; if (empty ($ action)) { ?> <HTML> <HEAD> <TITLE> Прімерчік </ TITLE> </ HEAD> <BODY>
Повідомлення <? echo $ msg;?> </ Textarea> </ td> </ tr> | |
<input type=submit value='Добавіть'> </ td> </ tr>
</ Form> </ Table> </ Center> </ BODY> </ HTML> <? } ?> Нічого складного, просто форма для введення повідомлення. Виводиться і обробляється введене повідомлення файлом, зазначеним action'е форми (test1.php). Код, написаний в цьому файлі теж простий: <? $ Msg = substr ($ _POST ["msg"], 0,1024); $ Msg = htmlspecialchars ($ msg);print " ". $ msg. "</ P> \ n"; ?> Виділяємо із змінної $ _POST повідомлення (про функції substr() дивіться трохи нижче), обробляємо це повідомлення функцією htmlspecialchars () і виводимо. |