将PHP Wordwrap拆分为两个字符串?

时间:2015-05-24 18:26:51

标签: php xml-parsing query-string

有一个写XML的函数,问题是值不能超过30个字符。在这种情况下,我需要拆分字符串值并保持可读性。

Wordwrap可以解决这个问题,但我不相信它是正确的解决方案吗?

首先,我需要确定是否需要

    $name = 'My name is very long'

    // over 30 characters?
    if (strlen($name) < 30) {

        $this->xml->writeElement('Name', $name);
        $this->xml->writeElement('Name2', '');
}

如果它超过30个字符,我想做类似

的事情
   else {

      // Divide $name between Name & Name2 maintaining readability, like
      $newname = wordwrap($name, 30,........ 

       // If i could end up with something like this 
       $this->xml->writeElement('Name', $newname1);
       $this->xml->writeElement('Name2', $newname2);
}

我不确定哪种方法和解决方案是最好的,一直在挖掘很多,感觉我发现的方法都不适合我的代码。

1 个答案:

答案 0 :(得分:1)

这应该适合你:

您可以使用wordwrap()结合explode()来创建一个数组,然后您可以简单地循环将值插入到xml中,例如

<?php

    $name = "your string foo foo foo foo foo bar";
    $arr = explode(PHP_EOL, wordwrap($name, 30, PHP_EOL));

    foreach($arr as $k => $v) 
        $this->xml->writeElement("Name" . ($k == 0 ? "":$k+1), $v);

?>