字符串中的第一个实例

时间:2011-02-10 23:29:45

标签: php

我有一个字符串,说:

www.google.com/tomato.mdm

我需要用西红柿代替番茄(添加n)。我的方法是找到。然后用n替换它。 。这没用。番茄可以是许多不同的词,所以我不能只搜索那个......

他们有什么方法可以解决这个问题吗?

我想过只在第一个实例中替换它,但是在php manuel中找不到这样做的函数。

2 个答案:

答案 0 :(得分:3)

我会这样做:

$string = "www.google.com/tomato.mdm";
$lastDot = strrpos($string, '.');
$newString = substr($string, 0, $lastDot) . 'n.' . substr($string, $lastDot + 1);

我使用strrpos查找“。”的最后一次出现。在字符串中。然后我将字符串分成两部分(使用substr):最后一个点之前的所有内容,以及之后的所有内容。然后我插入“n”。在这两个部分之间,应该给出期望的结果。

使用正则表达式的解决方案如下:

$string = "www.google.com/tomato.mdm";
$newString = preg_replace('/(.*?)(\.[^\.]*)$/', '\1n\2', $string);

有关详细信息,请参阅preg_replacea regex reference

答案 1 :(得分:0)

您应该使用正则表达式来执行此操作

 $newStr = preg_replace("#^(www.google.com/[a-zA-z]*)#", '$1n', "www.google.com/tomato.mdm");
相关问题