php - 改变单词,将标点符号保持在自己的位置

标签 php

我想要一个 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/

相关文章:

php - 如何使用 xdebug 只调试一个虚拟主机?

php - 需要一个高效的 mysql 数据库模式来存储积分/评级

php - 如何存储 mcrypt_module_open ('rijndael-256' ,'' ,'ofb' ,'' );在MySQL中

PHP - 将用户注册到字段多于所需的数据库

php - 如何在 laravel 5.5 中运行 phpunit

javascript - 我如何制作一个将文本保存在数据库中并将文件上传到服务器上的表单

php - Mysql搜索字符串

php - Mysql/php 按 varchar 的第二个单词排序

php - 如何调试 cron 作业 - codeigniter 3

javascript - 如何为 REST API 后端构建 REST 客户端前端?