我根本找不到preg_replace,它只是看起来像中文,无论如何我只需要从字符串中删除“&page-X
”,如果它在那里。
X
是一个很好的课程,如果有人有一个有用的preg_replace
初学者教程的链接,也会很方便!
答案 0 :(得分:19)
实际上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 manual。
答案 1 :(得分:6)
preg_replace
使用Perl-Compatible Regular Expression作为搜索模式。试试这个模式:
preg_replace('/&page-\d+/', '', $str)
有关详细信息,请参阅pattern syntax。
答案 2 :(得分:0)
$outputstring = preg_replace('/&page-\d+/', "", $inputstring);
答案 3 :(得分:0)
preg_replace('/&page-\d+/', '', $string)
有用的信息:
Using Regular Expressions with PHP
http://articles.sitepoint.com/article/regular-expressions-php