$text=" ma mee ma mee meena mia meenaùs";
$text是一个包含数百个单词的字符串,上面是一个简短的插图。
我想要的是我想检查$text是否包含"我",如果是,而不是用" "(即空格)替换我。
我使用相同的preg_replace
,但很明显,即使$text
有 Meena,它也mee
搜索模式并用空格替换它。
简而言之,我只想在$text
值是我而不是Meena时才进行替换。如何使用PREG_REPLACE或相关功能来实现这一点?提前致谢
$text = preg_replace("mee","", $text);
预期产出:"玛玛米娜米娅米纳"似乎存在一些编码问题,因为它不适用于 Meenaùs
作为正则表达式,您将^mee$
与preg_replace
一起使用,如下所示:
$text = preg_replace("/^mee$/","", $text);
^
匹配字符串
的开头 $
匹配字符串的末尾
非常简单的替代方法,因此不使用正则表达式可能会更有效。
好的,看到您更改了问题,新问题的答案将是:
$text = preg_replace("/'bmee'b/","", $text);
这应该与模式相匹配,mee
它本身就是一个单词,而不是另一个单词的一部分。
if ($text == "mee")
$text = " ";
就是这样。
如果要在多次包含此单词的字符串中多次更改单词"mee"
,请使用 $text = preg_replace('/'bmee'b/', ' ', $text);
。
你可以
选择preg_match
和preg_replace
的组合。
首先检查字符串中是否有完全匹配的文本:
<?php
$text=" ma mee ma mee meena mia";
echo $text."<br/>";
$key = "mee";
$rep_text = "YES";
$text = preg_replace("/'b".$key."'b/u", $rep_text, $text);
echo $text."<br/>";
?>
试试这个。