使用 PHP Wordwrap 将字符串拆分为两个字符串?
Split string with PHP Wordwrap in to two strings?
有一个写入 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);
}
我不确定哪种方法和解决方案是最好的,一直在深入研究,感觉 none 我发现的方法最适合我的代码。
这应该适合你:
您可以使用 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);
?>
有一个写入 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);
}
我不确定哪种方法和解决方案是最好的,一直在深入研究,感觉 none 我发现的方法最适合我的代码。
这应该适合你:
您可以使用 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);
?>