我根本无法弄清楚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/