我怎么能阻止一些单词/字母被交换在php


how can i stop some words/letters from being swapped in php?

我使用php从一个文本区域交换文本并在另一个文本区域显示,大部分工作,但遗憾的是有些部分不

我用str_ireplace,然后到目前为止,60个不同的单词,还有更多的。我的问题的几个例子是:

old - auld
old man - gadgie
如果你看上面的

,第一个单词是未交换的,第二个是新的单词。但是,如果我把old man放在文本中,它就会显示为"old man"而不是"gadgie"。

我知道这可能是因为我在"old- old "之前声明了"old- old "

但另一个问题是:

yes - aye
no - nar

同样,第一个单词是original,第二个是after swap。如果我写"yesterday",它将显示为"ayeterday",或者如果我有"nose",它将显示为"narse"

是否有办法只改变"是"本身,而不是如果它是另一个单词的一部分?

有没有办法让"old man"answers"old"作为单独的替换?

希望这是有意义的

我的str_ireplace代码:

<form method="POST" action="post.php" >
<textarea name="status2" cols="50" rows="5"/>
<?php echo str_ireplace(array  ('old','awkward','all','again','behind','along','alright','hello','among','children','yes','child','kids','food','barnard castle','beer','book','blow','beautiful','bird','burst','brown','burn','boots','came','nice','cold','church','clothes','stick','dirty','clever','cloth','cow','crow','stool','crown','pigeon','dad','darlington','dead','do','devil','dont','do not','durham','down','drown','punch','ditch','eye','fall','trouble','condition','four','stupid','old man','go','going','jumper','give over','grandad','hold','get away','home'), 
array ('auld', 'aakwad', 'aall','agyen','ahint','alang','alreet','alreet','amang','bairns','aye','bairn','bairns','bait','barney','beor','beuk','blaa','bonny','bord','borst','broon','bourn','byeuts','cam','canny','card','chorch','claes','clag','clarty','clivvor','cloot','coo','craa','cracket','croon','cushat','da','darlo','deed','dee','deil','divvent','divvent','dorham','doon','droon','dunsh','dyke','Eee','faa','fash','fettle','fower','gaumless','gadgie','gan','gannin','ganzie','giveower','granda','haad','hadaway','hyem'),$status); ?> 
</textarea><br>

就像我说的,有60多个单词。

我最初没有添加我的代码,因为我认为它可能不相关。

关于第一部分。你应该先替换更具体的词。例如"old man",然后是"man"或者使用strr

<?php
$trans = array("h" => "-", "hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);
?>
The above example will output:
hello all, I said hi

关于整个单词。您可以查看regexp(特别是'b)