Простой preg_replace

Я вообще не вижу preg_replace, он просто выглядит для меня китайцем, мне просто нужно удалить "&page-X" из строки, если она там.

X является, конечно, конечно, если у кого есть ссылка на полезный учебник preg_replace для новичков, который также будет удобен!

Ответы

Ответ 1

На самом деле основной синтаксис для регулярных выражений, поддерживаемый preg_replace и друзьями, довольно легко узнать. Подумайте об этом как строку, описывающую шаблон с определенными символами, имеющими особый смысл.

В вашем очень простом случае возможный шаблон:

&page-\d+

С \d означает цифру (числовые символы 0-9) и +, что означает: Повторите выражение прямо перед + (здесь: \d) один или несколько раз. Все остальные персонажи просто представляют себя.

Следовательно, шаблон выше соответствует любой из следующих строк:

&page-0
&page-665
&page-1234567890

Так как функции preg используют Perl-совместимый синтаксис, а регулярные выражения обозначаются между слэшами (/) в Perl, вы должны окружить шаблон в косых чертах:

$after = preg_replace('/&page-\d+/', '', $before);

Собственно, вы можете использовать и другие символы:

$after = preg_replace('#&page-\d+#', '', $before);

Полную ссылку на поддерживаемый синтаксис см. в руководстве PHP.

Ответ 3

$outputstring = preg_replace('/&page-\d+/', "", $inputstring);

preg_replace()