我想要一个 php 程序,它将单词的第一个字母带到最后一个,并在末尾添加“ay”。例子:
I love my family
变为 Iay ovelay ymay amilyfay
我这样做是为了得到我的结果:
<?php
$var = "I love my family";
$words = explode(" ",$var);
$final = "";
foreach ($words as $word){
$n = "";
for($i=1;$i<strlen($word);$i++){
$n .= $word{$i};
}
$n .= $word{0}."ay";
$final .= $n." ";
}
echo $final;
?>
但是当输入是:他说,“我爱我的家人”
时,这不起作用。这给出的输出为:ehay ays,say I"ay ovelay ymay amily"fay
我需要标点符号位于它们自己的位置,如下所示:ehay ayssay, "Iay ovelay ymay amilyfay "
尝试了很多,但没有找到任何有用的东西
最佳答案
看起来像:
$str = 'he says, "I love my family"';
$str = preg_replace('/(\w{1})(\w*)/', "$2$1ay", $str);
echo $str; // ehay ayssay, "Iay ovelay ymay amilyfay"
至少应该可以让您完成大部分工作。
关于php - 改变单词,将标点符号保持在自己的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25051505/