Какво означават тези символи в preg_replace?

C++ JAVA
User avatar
smeshko2008
Нов
Нов
Posts: 196
Joined: Sun Oct 14, 2007 6:26 pm
Answers: 12

Какво означават тези символи в preg_replace?

Post by smeshko2008 » Thu Jan 31, 2008 4:45 am

Здравейте :) Някой би ли ми обяснил как се работи с preg_replace ??? Видях в мануала на php.net, но не го разбрах, така че моля ви не ми давайте линкове натам... Просто ми обяснете на български какъв е синтаксиса и какви са тези странни \#'^&* и т.н. символи? На никого няма да откажа точката ;)

Благодаря предварително!

User avatar
STaNiMiR
Турист
Турист
Posts: 208
Joined: Sat Apr 29, 2006 9:45 pm
Location: Бургас/София
Contact:

Post by STaNiMiR » Thu Jan 31, 2008 7:06 am

Това се нарича регулярен език. Тези символи са неговата сематика. Чрез него се описва шаблонен текст, а с тази функция се проверява дали някакъв текст принадлежи към този шаблон. Използва се примерно за емейли, телефони и др. Произлиза от дискретната математика(сега ще държа изпит на това). Виж тази презентация обеснява за какво се използват. Доста труден език :(

User avatar
iwanov
Шаман
Шаман
Posts: 3045
Joined: Wed Nov 01, 2006 9:18 pm
Answers: 192
Location: Варна

Post by iwanov » Thu Jan 31, 2008 10:40 am

Това е функция за заместване.
Ето един пример:

Code: Select all

<?php
       $str = '&#91;link url="http&#58;//php.net"&#93;PHP&#91;/link&#93; is cool.';
       $pattern = '@\&#91;link\ url="&#40;&#91;^"&#93;+&#41;"\&#93;&#40;.*?&#41;\&#91;/link\&#93;@';
       $replacement = '<a href="\\1">\\2</a>';
       $str = preg_replace&#40;$pattern, $replacement, $str&#41;;
       echo $str;
?>
Скрипта ще изведе:

Code: Select all

<a href="http&#58;//php.net">PHP</a> is cool.

Мисля че от това виждаш кой ред се замества...
А тия знаци просто трябва да знаеш всеки за какво служи.

Поздрави и дано съм помогнал.

@STaNiMiR презентацията е интересна.

User avatar
STaNiMiR
Турист
Турист
Posts: 208
Joined: Sat Apr 29, 2006 9:45 pm
Location: Бургас/София
Contact:

Post by STaNiMiR » Thu Jan 31, 2008 11:08 am

Ако искаш да разбереш смисъла на този език ти препоръчвам да прочетеш една книжка на Наков "Програмиране на .NET" част 1. Това, че е за C# не е проблем, мисля. Там е обеснен синтаксиса на езика(10 глава). Ако имаш желание де :)
ПС ако не може да намериш книгата пиши, ще ти е дам :)

User avatar
iwanov
Шаман
Шаман
Posts: 3045
Joined: Wed Nov 01, 2006 9:18 pm
Answers: 192
Location: Варна

Post by iwanov » Thu Jan 31, 2008 11:15 am

@STaNiMiR та то това си е от PHP. Какъв е смисъла да чете за .NET , C# и т.н.

User avatar
STaNiMiR
Турист
Турист
Posts: 208
Joined: Sat Apr 29, 2006 9:45 pm
Location: Бургас/София
Contact:

Post by STaNiMiR » Thu Jan 31, 2008 11:19 am

Защото беше написал, че иска да разбере какво значат тея символи и идеята горе долу

User avatar
iwanov
Шаман
Шаман
Posts: 3045
Joined: Wed Nov 01, 2006 9:18 pm
Answers: 192
Location: Варна

Post by iwanov » Thu Jan 31, 2008 11:26 am

STaNiMiR wrote:Защото беше написал, че иска да разбере какво значат тея символи и идеята горе долу

Ами да чете малко само за регулярните изрази и готово.
1 резултат в гоогле:
http://python-bg.sourceforge.net/regex-1.0.1/
Да потърси още в гоогле има инфо.

@STaNiMiR ще дадеш ли линкче за тази книга ? Искам да я видя.

User avatar
STaNiMiR
Турист
Турист
Posts: 208
Joined: Sat Apr 29, 2006 9:45 pm
Location: Бургас/София
Contact:

Post by STaNiMiR » Thu Jan 31, 2008 11:28 am


relax
Потребител
Потребител
Posts: 1120
Joined: Fri Dec 22, 2006 8:48 pm
Answers: 49

Post by relax » Thu Jan 31, 2008 10:23 pm

Сега прегледах 10 глава ако му се чете може да разбере дори от там за какво става въпрос аз ги имам и двете книги обаче не съм чел
Image

tema-71362

User avatar
STaNiMiR
Турист
Турист
Posts: 208
Joined: Sat Apr 29, 2006 9:45 pm
Location: Бургас/София
Contact:

Post by STaNiMiR » Thu Jan 31, 2008 10:31 pm

relax wrote:Сега прегледах 10 глава ако му се чете може да разбере дори от там за какво става въпрос аз ги имам и двете книги обаче не съм чел


На мен и ми са е наложи да ги прочета и двете. Се пак това работя

Post Reply