0

如何替换以“a”开头并以“z”结尾的字符串?

基本上我希望能够做与 str_replace 相同的事情,但对“干草堆”中两个字符串之间的值无动于衷。

是否有内置功能?如果没有,我将如何有效地制作完成它的功能?

4

3 回答 3

1

这可以通过正则表达式(简称RegEx)来完成。这是一个简单的例子:

$string = 'coolAfrackZInLife';
$replacement = 'Stuff';
$result = preg_replace('/A.*Z/', $replacement, $string);
echo $result;

上面的例子将返回coolStuffInLife

给定正则表达式的一点解释 /A.*Z/
     - 斜线表示正则表达式的开始和结束;
     - A 和 Z 是您需要替换的开始和结束字符;
     -.匹配任何单个字符
     -*零个或多个给定字符(在我们的例子中 - 所有字符)
     - 您可以选择使用+ 而不是*仅当两者之间存在某些内容时才匹配

查看Rubular.com,了解测试 RegEx 的简单方法。它还提供简短的 RegEx 参考

于 2012-06-27T12:15:57.433 回答
0
$string = "I really want to replace aFGHJKz with booo";
$new_string = preg_replace('/a[a-zA-z]+z/', 'boo', $string);
echo $new_string;

小心正则表达式,你想找到第一个 z 还是最后一个 z?是否只有字母可以介于两者之间?字母数字?在我扩展正则表达式之前,您需要解释各种场景。

于 2012-06-27T12:15:06.633 回答
0

使用preg_replace以便您可以使用正则表达式模式。

于 2012-06-27T12:11:50.630 回答