我根本无法弄清楚preg_replace,它对我来说只是中文,反正我只需要从字符串中删除“&page-X”(如果有的话)。
X是很多类(class),如果有人有对初学者有用的preg_replace教程的链接,那也将很方便!

最佳答案

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

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

&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 manual

关于php - 简单的preg_replace,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1487064/

10-12 15:00