简单的preg_replace

blu*_*iel 13 php string replace preg-replace

我根本找不到preg_replace,它只是看起来像中文,无论如何我只需&page-X要从字符串中删除" ",如果它在那里.

X当然,如果有人有一个preg_replace初学者的有用教程的链接,也会很方便!

Fer*_*yer 20

实际上,正如preg_replace朋友所支持的正则表达式的基本语法非常容易学习.可以将其视为描述具有特殊含义的某些字符的模式的字符串.

在您非常简单的情况下,可能的模式是:

&page-\d+
Run Code Online (Sandbox Code Playgroud)

有了\d这意味着一个数字(数字字符0-9)+含义:正确重复前的表达+(这里\d)一次或多次.所有其他角色只代表自己.

因此,上面的模式匹配以下任何字符串:

&page-0
&page-665
&page-1234567890
Run Code Online (Sandbox Code Playgroud)

由于preg函数使用Perl兼容语法,并且/在Perl中的斜杠()之间表示正则表达式,因此必须用斜杠包围模式:

$after = preg_replace('/&page-\d+/', '', $before);
Run Code Online (Sandbox Code Playgroud)

实际上,您也可以使用其他字符:

$after = preg_replace('#&page-\d+#', '', $before);
Run Code Online (Sandbox Code Playgroud)

有关支持的语法的完整参考,请参阅PHP手册.


Gum*_*mbo 6

preg_replace使用Perl兼容的正则表达式作为搜索模式.试试这种模式:

preg_replace('/&page-\d+/', '', $str)
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅模式语法.