【发布时间】:2010-12-02 00:07:14
【问题描述】:
我根本不知道 preg_replace,它对我来说只是中文,无论如何我只需要从字符串中删除“&page-X”(如果存在)。
X 当然是一个数字,如果有人有一个有用的链接到一个有用的preg_replace 初学者教程也很方便!
【问题讨论】:
标签: php string replace preg-replace
我根本不知道 preg_replace,它对我来说只是中文,无论如何我只需要从字符串中删除“&page-X”(如果存在)。
X 当然是一个数字,如果有人有一个有用的链接到一个有用的preg_replace 初学者教程也很方便!
【问题讨论】:
标签: php string replace preg-replace
实际上,正则表达式的基本语法由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。
【讨论】:
preg_replace 使用 Perl-Compatible Regular Expression 作为搜索模式。试试这个模式:
preg_replace('/&page-\d+/', '', $str)
请参阅pattern syntax 了解更多信息。
【讨论】:
$outputstring = preg_replace('/&page-\d+/', "", $inputstring);
【讨论】:
preg_replace('/&page-\d+/', '', $string)
有用的信息:
Using Regular Expressions with PHP
http://articles.sitepoint.com/article/regular-expressions-php
【讨论】: