Відмінності між версіями «7 Робота з рядками»

Матеріал з Wiki TNEU
Перейти до: навігація, пошук
м (Захист на 7 Робота з рядками встановлено (‎[edit=sysop] (безстроково) ‎[move=sysop] (безстроково)))
 
(4 проміжні версії 3 користувачів не показані)
Рядок 1: Рядок 1:
Ця  функція належить до функцій перетворення символів, про які ми теж будемо говорити в цьому розділі. Цю функцію ми винесли в самий початок через те, що вона робить одну просту, але важливу річ - виробляє перетворення спецсимволів в їх HTML еквіваленти. Попросту кажучи, ця функція гарантує, що якщо Ви раптом надумаєте написати в гостьовій книзі або на форумі якийсь код (php, javascript і т.д.) він відобразитися абсолютно нормально, але виконуватися не буде!Тобто функцію треба застосовувати, якщо потрібно вивести у броузері якийсь код.Крім того, ця функція позбавляє Вас від всяких кретинів, яким нічим зайнятися окрім як писати в Ваших гостьових книгах (і будь-яких формах вводу) будь-які скрипти. Ну а тепер, власне, про функції.
+
У мові PHP існує такий тип даних, як стрічковий (String). Він служить для того щоб ми могли працювати з рядками в PHP.  
Синтаксис:
+
Для роботи із стрічковими(текстовими) змінними в PHP передбачений дуже багатий набір функцій, як, безсумнівно, полегшать для написання різних програм. Для більш наочного уявлення, що ж це все-таки таке «рядок в PHP», приклад використання стрічковоїзмінної:
string htmlspecialchars (string str [, int quote_style [, string charset]]);
+
 
Перший аргумент - рядок, у якому треба виконати перетворення. В якості другого необов'язкового аргументу приймається константа, що задає режим перетворення лапок. За замовчуванням, використовується ENT_COMPAT, перетворююча подвійні лапки, при цьому поодинокі залишаються без змін. У режимі ENT_QUOTES перетворюються і подвійні, і одиночні лапки. а в режимі ENT_NOQUOTES і подвійні, і одиночні лапки залишаються без змін. Третій необов'язковий аргумент приймає рядок, що представляє набір символів, що використовуються в перетворенні (за замовчуванням ISO-8859-1).
+
<?php
Наприклад, якщо Ви обробляєте якесь повідомлення $ msg форми, то обробка його функцією htmlspecialchars () можлива наступним чином:
+
$a = 'Звичайна стрічкова змінна з текстом'; // Привласнимо $a текстове значення.  
$ Msg = htmlspecialchars ($ msg);
+
echo($a); // Виводимо значення змінної на екран.
Як бачите, все просто.
+
?>
А для того, щоб у Вас все це гарненько запам'яталося наведемо такий повчальний прімерчік, який, сподіваємося, змусить Вас не забувати про цю функцію.
+
 
Примітивний php скриптик, який буде відображати дані, що вводяться у формі.
+
Ось такий простенький скрипт, спочатку присвоює значення змінної $a текстове значення, а потім виводить це значення на екран.
<?
+
У цьому скрипті, вказано тип змінної. При присвоєнні змінній текстове значення її тип змінюється на текстовій тип даних автоматично.  
  $ Action = $ _POST ["action"];
+
Існують наступні функції для роботи з текстовими даними, у попередньому прикладі було використано одну з них. Це функція echo(). Функція echo() служить для виведення значення однієї або декількох змінних на екран. Оператор echo() виводить не тільки текстові типи даних, а й інші.
  if (empty ($ action))
+
Синтаксис функції echo():  
  {
+
echo (значення);
  ?>
+
або
      <HTML>
+
echo (значення 1, значення 2);  
      <HEAD>
+
Для того щоб дізнатися довжину рядка, або іншими словами кількість символів у рядку використовують функцію strlen().  
      <TITLE> Прімерчік </ TITLE>
+
Синтаксис функції strlen ():  
      </ HEAD>
+
strlen (стрічкова змінна);  
      <BODY>
+
Приклад використання цієї функції:
      <center>
+
 
      <table width=1 border=0>
+
<?php
      <form action=test1.php method=post>
+
$alphavit = 'АБВГДЕЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';  
        <input type=hidden name=action value=post>
+
// Задаємо текстове значення змінної.
        <tr> <td colspan=2> Повідомлення <br>
+
$count = strlen($alphavit);
        <? echo $ msg;?>
+
// Рахуємо за допомогою strlen кількість символів в рядку.
        </ Textarea> </ td> </ tr>
+
echo($count); // Виводимо результат
        <tr> <td colspan=2> <input type=submit value='Добавіть'> </ td> </ tr>
+
?>  
      </ Form>
+
 
      </ Table>
+
Для того щоб вирізати частину рядка, використовується функція substr().
      </ Center>
+
Синтаксис функції substr():
      </ BODY>
+
substr (стрічкова змінна, початок частині рядка, кількість символів);
      </ HTML>
+
або
  <?
+
substr (стрічкова змінна, початок частині рядка);
  }
+
Якщо не вказувати кількість символів, які ви хочете вирізати з рядка, уривок буде вирізаний від зазначеного початку частині рядка до кінця рядка. Початок частини рядка потрібно відраховувати з нуля. Перший символ рядка завжди нульовий. Наприклад:
?>
+
 
Нічого складного, просто форма для введення повідомлення. Виводиться і обробляється введене повідомлення файлом, зазначеним action'е форми (test1.php). Код, написаний в цьому файлі теж простий:
+
<?php
<?
+
$alphavit = 'АБВГДЕЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';  
  $ Msg = substr ($ _POST ["msg"], 0,1024);
+
// Задаємо текстове значення змінної.
  $ Msg = htmlspecialchars ($ msg);
+
$a = substr($alphavit,0,10);
  print "<P>". $ msg. "</ P> \ n";
+
// Вирізаємо перші 10 символів з рядка echo($a);
?>
+
// Виводимо результат.
Виділяємо із змінної $ _POST повідомлення (про функції substr() дивіться трохи нижче), обробляємо це повідомлення функцією htmlspecialchars () і виводимо.
+
?>  
 +
 
 +
Для того,щоб відшукати позицію будь-якого символу в рядку, є функція strpos (). За допомогою неї можна відшукати позицію як одного символу, так і цілого відрізка символів.
 +
Синтаксис функції strpos ():  
 +
strpos (стрічкова змінна, потрібний символ або група символів);
 +
або
 +
strpos (стрічкова змінна, потрібний символ або група символів, позиція звідки починати пошук);  
 +
Приклад:
 +
 
 +
<?php
 +
$alphavit = 'АБВГДЕЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
 +
// Задаємо текстове значення змінної.
 +
$a = strpos($alphavit,'Д'); // Знаходимо позицію букви Д в рядку.  
 +
echo($a); // Виводимо результат
 +
?>
 +
 
 +

Поточна версія на 01:04, 20 червня 2014

У мові PHP існує такий тип даних, як стрічковий (String). Він служить для того щоб ми могли працювати з рядками в PHP. Для роботи із стрічковими(текстовими) змінними в PHP передбачений дуже багатий набір функцій, як, безсумнівно, полегшать для написання різних програм. Для більш наочного уявлення, що ж це все-таки таке «рядок в PHP», приклад використання стрічковоїзмінної:

<?php 
$a = 'Звичайна стрічкова змінна з текстом'; // Привласнимо $a текстове значення. 
echo($a); // Виводимо значення змінної на екран. 
?> 

Ось такий простенький скрипт, спочатку присвоює значення змінної $a текстове значення, а потім виводить це значення на екран. У цьому скрипті, вказано тип змінної. При присвоєнні змінній текстове значення її тип змінюється на текстовій тип даних автоматично. Існують наступні функції для роботи з текстовими даними, у попередньому прикладі було використано одну з них. Це функція echo(). Функція echo() служить для виведення значення однієї або декількох змінних на екран. Оператор echo() виводить не тільки текстові типи даних, а й інші. Синтаксис функції echo():

echo (значення); 

або

echo (значення 1, значення 2); 

Для того щоб дізнатися довжину рядка, або іншими словами кількість символів у рядку використовують функцію strlen(). Синтаксис функції strlen ():

strlen (стрічкова змінна); 

Приклад використання цієї функції:

<?php 
$alphavit = 'АБВГДЕЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'; 
// Задаємо текстове значення змінної. 
$count = strlen($alphavit); 
// Рахуємо за допомогою strlen кількість символів в рядку. 
echo($count); // Виводимо результат 
?> 

Для того щоб вирізати частину рядка, використовується функція substr(). Синтаксис функції substr():

substr (стрічкова змінна, початок частині рядка, кількість символів);

або

substr (стрічкова змінна, початок частині рядка); 

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

<?php 
$alphavit = 'АБВГДЕЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'; 
// Задаємо текстове значення змінної.
$a = substr($alphavit,0,10); 
// Вирізаємо перші 10 символів з рядка echo($a); 
// Виводимо результат. 
?> 

Для того,щоб відшукати позицію будь-якого символу в рядку, є функція strpos (). За допомогою неї можна відшукати позицію як одного символу, так і цілого відрізка символів. Синтаксис функції strpos ():

strpos (стрічкова змінна, потрібний символ або група символів); 

або

strpos (стрічкова змінна, потрібний символ або група символів, позиція звідки починати пошук); 

Приклад:

<?php 
$alphavit = 'АБВГДЕЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'; 
// Задаємо текстове значення змінної.
$a = strpos($alphavit,'Д'); // Знаходимо позицію букви Д в рядку. 
echo($a); // Виводимо результат 
?>

Особисті інструменти
Простори назв

Варіанти
Дії
Навігація
Інструменти