Отделение содержимого от текстовой строки - PullRequest
1 голос
/ 22 апреля 2011

У меня это "&params=&offer=art-by-jeremy-johnson" хранится в моей базе данных.

Существует ли какая-либо функция / метод для получения вывода в виде "Art by Jeremy Johnson", используя вышеуказанное в качестве входного значения.это должно быть изменено на вывод "Art by Jeremy Johnson" только во время выполнения.

это можно сделать в PHP.

Пожалуйста, помогите.

Ответы [ 4 ]

1 голос
/ 22 апреля 2011

В Java, я думаю, вы можете просто использовать lastIndexOf, чтобы получить последний индекс знака равенства и получить остаток строки (используя substring).

if (myString.lastIndexOf("=") != -1) {
   String words = myString.substring(myString.lastIndexOf("=")+1);
   words.replaceAll("-", " ");
   return words;
}
1 голос
/ 22 апреля 2011
$string="&params=&offer=art-by-jeremy-johnson";

parse_str($string,$output);
//print_r($output);
$str=ucwords(str_replace("-"," ",$output['offer']));
1 голос
/ 22 апреля 2011
$orig = '&params=&offer=art-by-jeremy-johnson';
$parts = explode('=', $orig);
$output = explode('-', end($parts));
echo ucwords(implode(' ', $output));
0 голосов
/ 22 апреля 2011

Если я хорошо понимаю, вы хотите, чтобы некоторые слова не были написаны заглавными буквами.

Вот способ сделать это:

$str = "&params=&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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...