【问题标题】:PHP: Insert quotes at the beginning and end of a stringPHP:在字符串的开头和结尾插入引号
【发布时间】:2023-03-11 14:08:01
【问题描述】:

我有这个字符串:

$str = '海中的小船';

我想要这个输出:

《大海中的小船》

我怎样才能在 PHP 中做到这一点?

提前致谢

编辑:提供的答案非常明显。我想提供一个简单的例子,我实际上在做的是加载一个巨大的文本文件,每一行都存储在多个数组中。所以每个数组的末尾和开头都应该有引号,那么之前提供的示例的解决方案是什么?也许使用正则表达式添加引号?

编辑 2:

抱歉,这是我的代码:

$users = file('xls/try_traffic.txt'); //加载文件

$users = preg_replace('/, TG=\d{3}/', '', $users);

$users = str_replace("LABEL=", "", $users);

$users = str_replace('"', "", $users);

$users = preg_replace("/\t/", '","', $users);

print_r($users);

我得到这个输出(简单版):

数组 ( [0] => 01/16/2014 00:00:00","30","TLAGMSC1-MSX","TMXCABINLC

[1] => 01/16/2014 00:00:00","30","TLAGMSC1-MSX","TMXLPZOGMV

[2] => 01/16/2014 00:00:00","30","TLAGMSC1-MSX","TMXLPZ2WLD1

)

所以我想在每个开头和结尾添加引号,所以看起来像这样:

数组 ( [0] => "01/16/2014 00:00:00","30","TLAGMSC1-MSX","TMXCABINLC"

[1] => "01/16/2014 00:00:00","30","TLAGMSC1-MSX","TMXLPZOGMV"

[2] => "01/16/2014 00:00:00","30","TLAGMSC1-MSX","TMXLPZ2WLD1"

)

【问题讨论】:

  • 字符串连接:使用点.
  • 我很困惑。为什么要将每一行存储在多个数组中?每一行不应该是单个数组中的一个元素吗?你能展示一个文本文件内容的例子和你想要的最终结果吗?

标签: php string quotes


【解决方案1】:

为什么不直接使用串联 . 运算符?

<?php
$str = 'Small ship in the sea';
echo '"'.$str.'"'; //"prints" "Small ship in the sea"

提供的答案非常明显。我想放一个简单的 例如,我实际上正在做的是加载一个巨大的文本文件,每个 行存储在多个数组中。所以每个数组都应该有 结尾和开头的引号。

代码

<?php
$arr = file('yourtextfile.txt');
$new_arr = array_map('addquote',$arr);

function addquote($v)
{
return '"'.$v.'"';
}

print_r($new_arr);

【讨论】:

  • 连接运算符可以工作,但它不会在变量中存储双引号。只有在 print 语句中隐式写入时才会显示它们。
  • 请看描述中的EDIT部分。
  • @user3288852,检查已编辑问题的已编辑答案。
  • 谢谢,我对此进行了测试,但不适用于我的情况。抱歉,我再次编辑了答案。
【解决方案2】:

我认为这就是你想要的:EDIT 5

foreach ($users as $k => $v) {
    $users[$k] = (substr($v, 0, 1) == '"') ? ($v) : ('"'. $v);
    $users[$k] = (substr($v, strlen($v) -1) == '"') ? ($v) : ($v .'"');
}
print_r($users);

查看PHP String Documentation 了解有关如何在 PHP 中处理字符串的更多详细信息。

就我个人而言,我一直使用单引号,并且只有在绝对必要时才使用双引号。使用这种方法 IMO 更容易预测字符串行为。希望这会有所帮助!

【讨论】:

  • 请看描述中的EDIT部分。
  • 您能否详细说明“每一行都存储在数组中”的含义?当你读取一个文件时,你读取的是file_get_contents(),它不是数组的形式。你能解释一下你的意思吗?我想帮忙。
  • 感谢您的代码并为造成的混乱道歉,我再次编辑了答案。
  • 没问题!我在上面编辑了我的答案。我想这就是你要找的。​​span>
  • 没问题!我编辑了它一个时间供您查看。它可能比 EDIT 3 运行得更好
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
  • 1970-01-01
  • 2011-02-06
  • 2017-10-03
  • 1970-01-01
相关资源
最近更新 更多