【问题标题】:Split string into 2 pieces by length using PHP使用PHP将字符串按长度拆分为2段
【发布时间】:2011-10-12 22:54:51
【问题描述】:

我有一个很长的字符串,我想分成两段。

我希望有人能帮我把字符串分成两个单独的字符串。

我需要第一个字符串是 400 个字符长,然后是第二个字符串。

【问题讨论】:

  • PHP 手册中仍有一节称为 String Functions并且: 回顾您之前的问题,我不得不注意到有很多问题可以通过搜索 PHP 手册或 Google 或 Stack Overflow 轻松回答。鼓励您在此处提出新问题之前进行一些研究。见stackoverflow.com/questions/ask-advice
  • 我不认为它实际上不是那个的副本。这是为了将 N 个字符的“预告片”拉到一个字符串中,然后将原始的其余部分拉到第二个字符串中 - 总共只有 2 个。链接的问题是要求根据需要将字符串拆分为多个部分。
  • 哇,认真的吗? RTFM 响应?

标签: php string split


【解决方案1】:
$first400 = substr($str, 0, 400);
$theRest = substr($str, 400);

您可以将变量重命名为适合您的任何名称。这些名字只是为了解释。此外,如果您在少于 400 个字符的字符串上尝试此操作,$theRest 将是 FALSE

【讨论】:

  • 嗯,我可以想象一个 for 循环也可以“正常工作”。但我为什么不建议呢?
【解决方案2】:

有一个名为str_splitPHP Manual 的函数可能只是拆分字符串:

$parts = str_split($string, $split_length = 400);

$parts 是一个array,它的每个部分最多为 400 个(单字节)字符。根据这个问题,您也可以将第一部分和第二部分分配给各个变量(期望字符串长度超过 400 个字符):

list($str_1, $str_2) = str_split(...);

【讨论】:

  • 如果字符串也少于 800 个字符。
  • 你怎么知道这不是问题?他们可能有一个 1000 个字符的字符串,并希望将其拆分为 400 和 600
  • 刚刚看到那个:)
【解决方案3】:

如果您想将字符串分成n 相等部分的数量,这是另一种方法

<?php

$string = "This-is-a-long-string-that-has-some-random-text-with-hyphens!";
$string_length = strlen($string);

switch ($string_length) {

  case ($string_length > 0 && $string_length < 21):
    $parts = ceil($string_length / 2); // Break string into 2 parts
    $str_chunks = chunk_split($string, $parts);
    break;

  default:
    $parts = ceil($string_length / 3); // Break string into 3 parts
    $str_chunks = chunk_split($string, $parts);
    break;

}

$string_array = array_filter(explode(PHP_EOL, $str_chunks));

?>

【讨论】:

    猜你喜欢
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 2012-05-15
    相关资源
    最近更新 更多