Simple preg_replace

后端 未结 4 1011
终归单人心
终归单人心 2021-02-05 13:06

I cant figure out preg_replace at all, it just looks chinese to me, anyway I just need to remove \"&page-X\" from a string if its there.

X

4条回答
  •  难免孤独
    2021-02-05 13:17

    Actually the basic syntax for regular expressions, as supported by preg_replace and friends, is pretty easy to learn. Think of it as a string describing a pattern with certain characters having special meaning.

    In your very simple case, a possible pattern is:

    &page-\d+
    

    With \d meaning a digit (numeric characters 0-9) and + meaning: Repeat the expression right before + (here: \d) one or more times. All other characters just represent themselves.

    Therefore, the pattern above matches any of the following strings:

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

    Since the preg functions use a Perl-compatible syntax and regular expressions are denoted between slashes (/) in Perl, you have to surround the pattern in slashes:

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

    Actually, you can use other characters as well:

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

    For a full reference of supported syntax, see the PHP manual.

提交回复
热议问题