Php 从文本字符串中分离内容
我的数据库中存储了jeremy johnson的Php 从文本字符串中分离内容,php,string,text-processing,Php,String,Text Processing,我的数据库中存储了jeremy johnson的“¶ms=&offer=art” 是否有任何函数/方法可以使用上述作为输入值,将输出作为“Jeremy Johnson的艺术”。这应该仅在运行时更改为输出“Art by Jeremy Johnson” 这可以在PHP中完成 请帮助。在Java中,我想您可以使用lastIndexOf获取等号的最后一个索引,并获取字符串的剩余部分(使用substring) $orig = '¶ms=&offer=art-by-jerem
“¶ms=&offer=art”
是否有任何函数/方法可以使用上述作为输入值,将输出作为“Jeremy Johnson的艺术”。这应该仅在运行时更改为输出“Art by Jeremy Johnson”
这可以在PHP中完成
请帮助。在Java中,我想您可以使用
lastIndexOf
获取等号的最后一个索引,并获取字符串的剩余部分(使用substring
)
$orig = '¶ms=&offer=art-by-jeremy-johnson';
$parts = explode('=', $orig);
$output = explode('-', end($parts));
echo ucwords(implode(' ', $output));
如果我理解的很好,你不想把一些单词大写 以下是一种方法:
$str = "¶ms=&offer=art-by-jeremy-johnson";
// List of words to NOT capitalized
$keep_lower = array('by');
parse_str($str, $p);
$o = explode('-', $p['offer']);
$r = array();
foreach ($o as $w) {
if (!in_array($w, $keep_lower))
$w = ucfirst($w);
$r[] = $w;
}
$offer = implode(' ', $r);
echo $offer,"\n";
输出:
Art by Jeremy Johnson
简单的答案是肯定的。它可以用PHP或Java实现。如果您只想要PHP,为什么要用Java标记这个问题?
$str = "¶ms=&offer=art-by-jeremy-johnson";
// List of words to NOT capitalized
$keep_lower = array('by');
parse_str($str, $p);
$o = explode('-', $p['offer']);
$r = array();
foreach ($o as $w) {
if (!in_array($w, $keep_lower))
$w = ucfirst($w);
$r[] = $w;
}
$offer = implode(' ', $r);
echo $offer,"\n";
Art by Jeremy Johnson