Професионална програма
Loading...
Tr00peR avatar Tr00peR 566 Точки

[Homework] PHP Basics - Arrays, Strings, Objects

Здравейте колеги, това са моите решения от домашното за масиви, стрингове и обекти.

Моля за коментари и препоръки, най-вече за качеството на кода.

  1. 01 - Word Mapper
  2. 02 - Link Colorer
  3. 03 - Sidebar Builder
  4. 04 - Text Filter
  5. 05 - Sentence Extractor
  6. 06 - URL Replacer
  7. 07 - To Do
13
PHP Web Development Basics
borislavml avatar borislavml 368 Точки

Един комплект и от мен. GitHub  Много интересно домашно, най-накрая смея да кажа понаучих регулярните изрази smile

2
a.manov avatar a.manov 2 Точки

Колега, гледам си ползвал $pattern = '/(?<=[.?!])\s+/';

на пета задача. Някоя ще обясни ли какво точно и как го прави този pattern. Предполагам разделя текста на изречения, ама какво точно прави всяка част от него, например ?<=

Thank you

0
borislavml avatar borislavml 368 Точки

Здравей, понеже искаме да сплитнем текста на изречения, не можем да ползваме за разделител само whitespace(\s+),защото така ще ни сплитне всяка дума. Нужен ни е израз, който да казва сплитни по whitespace непосредствено предхождан от !, ? или .(точка). Така фактически намираме края на всяко изречение. изразът ?<= казава фактичеки whitespace(\s+) задължително предхождан от !, ? или .(точка).[!?.] и е нужно цялто това нещо да го затворим в група () и се получава (?<=[.?!]). Доста е замотано ще се опитам да ти дам пример ако израза ни е
(?<=foo)bar това ще казва намери всикчи bar които обаче задължително за предхождани от foo. Това ще намри единствено и само foobar и няма да намери foabar, faobar и така нататък. В нашия случай намиране всички (! ),
(. ) и (? ). Надявам се, че успях поне малко да обясня. Ето една много полезна статия за така наречения Lookahead and Lookbehind http://www.rexegg.com/regex-lookarounds.html

1
28/08/2014 17:43:37
a.manov avatar a.manov 2 Точки

Да, много добре обясни, мерси. Направо ставай лектор ;)

0