Первый удаляет каждый тег XML / HTML и каждый символьный объект, заменяя каждый пробелом.Вторая находит каждую подстроку, состоящую полностью из символов слова.
Подробно:
Первая часть первого выражения сначала соответствует <
, затем любой символ с .
(переводы строки).включается благодаря флажку /s
в конце).Модификатор +
будет соответствовать одному или нескольким символам вплоть до последнего >
, найденного в $str
, но ?
после этого делает его не жадным, поэтому он соответствует только первому найденному >
.Вторая часть соответствует &
, за которой следует любой символ слова, пока не будет найден ;
.Поскольку ;
не является символом слова, модификатор ?
не требуется.s/
в начале означает замену, а бит после второй /
означает, что заменяется любое совпадение./gis
в конце означает * g * reedy, case * i * nsensitive и * s * ingle line.
Второе выражение находит первую подстроку из несловесных символов и помещает ее в $1
.Если вы вызываете его несколько раз, /g
в конце означает, что он будет соответствовать каждому экземпляру в $str
.