我只想知道preg_replace函数的替换是什么。
有可能得到这个吗?
例如:
$string = "test text 12345";
$string = mb_ereg_replace('#text|test#', '$1-test2',$string);
我想知道,“文字”和“测试”是否匹配?或者正在调用preg_match绝对必要吗?
答案 0 :(得分:1)
您可以通过引用将count变量传递给preg_replace,它将返回发生的匹配/替换次数。
请参阅http://php.net/manual/en/function.preg-replace.php
$string = "test text 12345";
$count = 0;
$string = preg_replace('text', 'test2', $string, -1, $count);
echo $count; // 1
答案 1 :(得分:0)
嗯......您可以使用preg_replace_callback()
代替,这样您就可以为每场比赛调用一个自定义函数。然后你就可以“看到”比赛并以你想要的方式替换它。
答案 2 :(得分:0)
如果它不是您要查找的模式,而只是字符串中的文字,则可以使用strstr
。
$findthis = "Apple";
$container = "Apple Orange Kiwi";
if (strstr($container,$findthis))
echo $findthis.' is present';
else
echo 'Not found';
}
答案 3 :(得分:0)
使用preg_match()
进行测试,然后使用preg_replace()
,如果您想解决preg_replace_callback()
问题,这也是一个解决方案。
答案 4 :(得分:0)
如果你想做的就是:
text
→test2
)和 在这种情况下,我只需使用str_replace()
进行替换,然后使用strcmp()
来判断字符串是否已更改(即已进行替换。)
答案 5 :(得分:0)
试试这个:
$string = 'test text 12345';
if ($string != ($replaced = preg_replace('/text/', 'test2', $string))) {
echo 'text was replaced';
}
虽然如果你真的不需要preg_replace,你应该使用strstr或stristr。