我想要一个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;
?>
但是当输入为:he says, "I love my family"
时,这不起作用。这会将输出显示为:ehay ays,say I"ay ovelay ymay amily"fay
我需要标点符号位于自己的位置,如下所示:ehay ayssay, "Iay ovelay ymay amilyfay"
尝试了很多但发现没有任何效果
答案 0 :(得分:0)
看起来像是:
$str = 'he says, "I love my family"';
$str = preg_replace('/(\w{1})(\w*)/', "$2$1ay", $str);
echo $str; // ehay ayssay, "Iay ovelay ymay amilyfay"
应该至少让你到达那里的大部分时间。