Файл: Оформление ЛабРаб №11.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.05.2024

Просмотров: 11

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

string substr (string рядок, int початок [, int довжина])

Якщо необов'язковий параметр довжина не вказаний, вважається, що підрядок починається з заданої початкової позиції і триває до кінця рядка. При використанні цієї функції необхідно враховувати чотири обставини:

  • якщо параметр початок позитивний, підрядок, що повертається, починається з позиції рядка із заданим номером;

  • якщо параметр початок від'ємний, підрядок, що повертається починається з позиції (довжина рядка - початок);

  • якщо параметр довжина позитивний, в підрядок, що повертається, включаються всі символи від позиції початок до позиції початок + довжина. Якщо остання величина перевищує довжину рядка, повертаються символи до кінця рядка;

  • якщо параметр довжина від'ємний, підрядок, що повертається закінчується на заданій відстані від кінця рядка.

Пам'ятайте про те, що параметр початок визначає зсув від першого символу рядка; таким чином, рядок, що повертається насправді починається з символу з номером (початок + 1 ).

Наступний приклад демонструє виділення частини рядка функцією substr ( ) :

$car = "1944 Ford"; Smodel = substr($car, 6);

// Smodel = "Ford"

Приклад з позитивним параметром довжина:

$car = "1944 Ford";

$model = substr($car, 0, 4);

// $model = "1944"

Приклад з негативним параметром довжина:

$car = "1944 Ford";

$model = substr($car, 2, -5);

// $model = "44"

  1. Поясніть механізм роботи функції substr_count ( ). Наведіть формальний синтаксис.

Функція substr_count ( ) повертає кількість входжень підрядка в заданий рядок. Синтаксис функції substr_count ( ):

int substr_count (string рядок, string підрядок)

У наступному прикладі функція substr_count ( ) підраховує кількість входжень підрядка ain:

$tng_twist = "The rain falls mainly on the plains of Spain";

$count = substr_count($tng_twist, "ain");

// $count = 4

  1. Поясніть механізм роботи функції substr_replace ( ). Наведіть формальний синтаксис.

Функція substr_replace ( ) замінює частину рядка, яка починається з заданої позиції. Якщо заданий необов'язковий параметр довжина, замінюється фрагмент заданої довжини; в іншому випадку проводиться заміна по всій довжині замінної рядка. Синтаксис функції substr_replace ( ) :

string substr_replace (string рядок, string заміни, int начало [, int довжина])

Параметри початок і довжина задаються за певними правилами :

  • якщо параметр початок позитивний, заміна починається з заданої позиції;

  • якщо параметр початок від'ємний, заміна починається з позиції (довжина рядка - початок);

  • якщо параметр довжина позитивний, замінюється фрагмент заданої довжини;

  • якщо параметр довжина від'ємний, заміна завершується у позиції (довжина рядка - довжина).


Проста заміна тексту функцією substr_replace ( ) продемонстрована в наступному прикладі:

$favs = " 's favorite links";

$name = "Alessia";

// Параметри "0, 0" означають, що замінюваний фрагмент починається

// і завершується в першій позиції рядка.

$favs - substr_replace($favs, $name, 0, 0);

print $favs:

  1. Поясніть механізм роботи функції nl2br ( ). Наведіть формальний синтаксис.

конструкціями HTML.

Синтаксис функції nl2br ( ) :

string nl2br (string строка)

Символи нового рядка можуть бути як видимими (тобто явно включеними в рядок), так і невидимими (наприклад, введеними в редакторі ). У наступному прикладі текстовий рядок перетвориться у формат HTML за допомогою заміни символів \n розривами рядків:

// Текстовий рядок, що відображається в редакторі.

$text_recipe = "

Party Sauce recipe:

1 can stewed tomatoes

3 tablespoons fresh lemon juice

Stir together, server cold.";

// Перетворені символи нового рядка

$htinl_recipe = nl2br($text_recipe)

При подальшому виведення $html_recipe браузеру буде переданий наступний текст у форматі HTML:

Party Sauce recipe:<br>

1 can stewed tomatoes<br>

3 tablespoons fresh lemon juice<br>

Stir together, server cold.<br>

  1. Поясніть механізм роботи функції htmlspecialchars ( ). Наведіть формальний синтаксис.

Функція htmlspecialchars ( ) замінює деякі символи, що мають особливий сенс у контексті HTML, еквівалентними конструкціями HTML. Синтаксис функції htmlspecialchars ( ) :

string htmlspecialchars (string строка)

Зокрема, ця функція дозволяє запобігти введення користувачами розмітки HTML в інтерактивних веб-додатках (наприклад, в електронних форумах). Помилки, допущені в розмітці HTML, можуть призвести до того, що вся сторінка буде формуватися неправильно. Втім, у цієї задачі існує і більш ефективне рішення - повністю видалити теги з рядка функцією strip_tags ( ).

Наступний приклад демонструє видалення потенційно небезпечних символів функцією htmlspeclalchars ( ) :

$user_input = "I just can't get <enough> of PHP & those fabulous cooking recipes!";

$conv_input = htmlspecialchars($user_input);

// $conv_input = "I just can't <<enough>> of PHP & those fabulous cooking recipes!"

Якщо функція htmlspeclalchars () використовується в поєднанні з nl2br ( ), то останню слід викликати після htmlspeclalchars ( ). В іншому випадку конструкції інструменти, згенеровані при виклику nl2br ( ), перетворяться в видимі символи.


  1. Поясніть механізм роботи функції get_html_translation_table ( ). Наведіть формальний синтаксис.

Функція get_html_translation_table ( ) забезпечує зручні засоби перетворення тексту в еквівалент HTML Синтаксис функції get_html_translation_table ( ) :

string get_html_translation_table (int таблица)

Функція get_html_translation_table () повертає одну з двох таблиць перетворення (визначається параметром таблиця), що використовуються в роботі стандартних функцій htmlspeclalchars ( ) і htmlentities ( ). Значення, що повертається може використовуватися в поєднанні з іншого стандартною функцією, strtr ( ), для перетворення тексту в код HTML.

Параметр таблиця приймає одне з двох значень:

HTML_ENTITIES;

HTML_SPECIALCHARS.

У наступному прикладі функція get_html_translation_table () використовується при перетворенні тексту в код HTML:

$string = "La pasta e il piatto piu amato in Italia";

$translate = get_html_translation_table(HTML_ENTITIES);

print strtr($string, $translate);

/ / Спеціальні символи перетворюються в конструкції HTML

/ / І правильно відображаються в браузері.

До речі, функція array_flip ( ) дозволяє провести перетворення тексту в HTML у зворотному напрямку і відновити вихідний текст. Припустимо, що замість виведення результату strtr ( ) у попередньому прикладі ми привласнили його змінної $ переведені рядок.

  1. Поясніть механізм роботи функції strtr ( ). Наведіть формальний синтаксис.

Функція strtr ( ) транслює рядок, тобто замінює в ній всі символи, що входять в рядок джерело, відповідними символами рядка приймач. Синтаксис функції strtr ( ) :

string strtr (string рядок, string джерело, string приймач)

Якщо рядки джерело і приймач мають різну довжину, довший рядок буде скорочуватися до розмірів коротшого рядка.

Існує альтернативний синтаксис виклику strtr ( ) з двома параметрами; в цьому випадку другий параметр містить асоціативний масив, ключі якого відповідають замінним підрядкам, а значення - замінюють підрядки. У наступному прикладі теги HTML замінюються XML - подібними конструкціями :

$source = array(\"<title>\" => \"<h1>\". \"</title> => \"</h1>\");

$string = \"<h1>Today In PHP-Powered News\"</h1>\";

print strtr($string, $source);

// Виводиться рядок \ " <title> Today in PHP-Powered News < /title> \ "

  1. Поясніть механізм роботи функції strip_tags ( ). Наведіть формальний синтаксис.

Функція strip_tags ( ) видаляє з рядка всі теги HTML і РНР, залишаючи в ній тільки текст. Синтаксис функції strip_tags ( ) :

string strip_tags (string рядок [, string дозволені_тeги])


Необов'язковий параметр дозволені_тeги дозволяє вказати теги, які повинні пропускатися в процесі видалення.

Нижче наведено приклад видалення з рядка всіх тегів HTML функцією strip_tags( ):

$user_input = "I just love РНР and gourment recipes!";

$stripped_input = strip_tags($user_input);

// $stripped_input = "I just love PHP and gourmet recipes!";

У наступному прикладі видаляються не всі, а лише деякі теги :

$input = \"I <b>love</b> to <a href = \\"http://www.eating.com\\">eat!</a>!\";

$strip_input = strip_tags ($user_input, \"<a>\");

// $strip_input = \"I love to <a href = \\"http://www.eating.com\\">eat!</a>!\";

Видалення тегів з тексту також проводиться функцією fgetss ( ).

Перетворення рядка до верхнього і нижнього регістру

  1. Поясніть механізм роботи функції strtolower ( ). Наведіть формальний синтаксис.

Функція strtolower ( ) перетворює всі символи верхнього рядка до нижнього регістру. Синтаксис функції strtolower ( ) :

string strtolower(string строка)

Символи у нижньому регістрі символи функцією не змінюються. Перетворення рядка до нижнього регістру функцією strtolower ( ) продемонстровано в наступному прикладі:

$sentence = "COOKING and PROGRAMMING PHP are my TWO favorite!";

$sentence = strtolower($sentence);

// після виклику функції $sentence містить рядок

// "cooking and programming php are my two favorite!"

  1. Поясніть механізм роботи функції strtoupper ( ). Наведіть формальний синтаксис.

Рядки можна перетворювати не тільки до нижнього, а й до верхнього регістру. Перетворення виконується функцією strtoupper ( ), що має наступний синтаксис:

string strtoupper (string рядок)

Неалфавітні символи функцією не змінюються. Перетворення рядка до верхнього регістру функцією strtoupper ( ) продемонстровано в наступному прикладі:

$sentence = "cooking and programming PHP are my two favorite!";

$sentence = strtoupper($sentence);

// після виклику функції $sentence містить рядок

// "COOKING AND PROGRAMMING PHP ARE MY TWO FAVORITE!"

  1. Поясніть механізм роботи функції ucfirst ( ). Наведіть формальний синтаксис.

Функція ucfirst ( ) перетворює до верхнього регістру перший символ рядка - за умови, що він є алфавітним символом. Синтаксис функції ucfirst ( ) :

string ucfirst (string строка)

Неалфавітні символи функцією не змінюються. Перетворення першого символу рядка функцією ucfirst ( ) продемонстровано в наступному прикладі:

&sentence = "cooking and programming PHP are my two favorite!";

$sentence = ucfirst($sentence);

// після виклику функції $sentence містить рядок

// "Cooking and programming PHP are mу two favorite!"

  1. Поясніть механізм роботи функції ucwords ( ). Наведіть формальний синтаксис.


Функція ucwords ( ) перетворює до верхнього регістру першу букву кожного слова в рядку. Синтаксис функції ucwords ( ) :

string ucwords (string строка")

Неалфавітні символи функцією не змінюються. "Слово" визначається як послідовність символів, відокремлена від інших елементів рядка пробілами. У наступному прикладі продемонстровано перетворення перших символів слів функцією ucwords ( ) :

$sentence = "cooking and programming PHP are my two favorite!";

$sentence = ucwords($sentence);

// После вызова функции $sentence содержит строку

// "Cooking And Programming PHP Are My Two Favorite!"

  1. Поясніть механізм роботи функції wordwrap( ). Наведіть формальний синтаксис.

Виконує перенесення рядка на дану кількість символів з використанням символу розриву рядка

// Використання wordwrap().

function cite($ourText, $maxlen=60, $prefix=\"> \") {

$st = wordwrap($ourText, $maxlen-strlen($prefix), \"\n\");

$st = $prefix.str_replace(\"\n\", \"\n$prefix\", $st);

return $st;

}

echo \"<pre>\";

echo cite(\"The first Matrix I designed was quite naturally

perfect, it was a work of art - flawless, sublime. A triumph

equalled only by its monumental failure. The inevitability

of its doom is apparent to me now as a consequence of the

imperfection inherent in every human being. Thus, I

redesigned it based on your history to more accurately reflect

the varying grotesqueries of your nature. However, I was again

frustrated by failure.\", 20);

echo \"</pre>\";

> The first Matrix I

> designed was quite

> naturally

> perfect, it was a

> work of art -

> flawless, sublime.

> A triumph

> equalled only by

> its monumental

> failure. The

> inevitability

> of its doom is

> apparent to me now

> as a consequence

> of the

> imperfection

> inherent in every

> human being. Thus,

> I

> redesigned it

> based on your

> history to more

> accurately reflect

>

> the varying

> grotesqueries of

> your nature.

> However, I was

> again

> frustrated by

> failure.

Висновок: я ознайомився з набором функцій для опрацювання текстових даних. Отримав практичні навички застосування рядкових функцій для здійснення форматування тексту та іншої подальшої обробки. Написав необхідні скрипти