Проблема с str_replace в операторе if - PullRequest
0 голосов
/ 20 сентября 2011

У меня проблемы с использованием str_replace в операторе if.Я хочу удалить множественное форматирование (я) из некоторого текста, который я выводю.

Я предоставляю ключевое слово, которое включено в вывод текста.Поэтому, если мое ключевое слово имеет символ 's' в качестве последнего символа, я хочу удалить множественные символы из вывода.Например, если ключевое слово «сумки», я хочу повторить «Я люблю сумки», а не «Я люблю сумки».Это то, что я придумал, но это не работает.

<?php
$keyword = "handbags";

$string = "I love $keyword's.";

$last = substr($keyword, -1);

if ($last == "s") {str_replace("'s", "", $string);}

echo $string;
?>

Ответы [ 5 ]

3 голосов
/ 20 сентября 2011

if ($last == "s") { $string = str_replace("'s", "", $string);}

2 голосов
/ 20 сентября 2011

Вы также можете использовать:

$string = "I love $keyword".(substr($keyword, -1)=="s"?".":"'s.");

сохраняет вам пару строк кода:)

2 голосов
/ 20 сентября 2011

str_replace возвращает значение и не влияет на строку по ссылке. Вам необходимо присвоить результат обратно строке:

$string = str_replace("'s", "", $string);
1 голос
/ 20 сентября 2011

Это правильный вариант:

    <?php
$keyword = "handbags";

$string = "I love $keyword's.";

$last = substr($keyword, -1);

if ($last == "s") {$string=str_replace("'s", "", $string);}

echo $string;
?>
0 голосов
/ 20 сентября 2011

Это должно сработать

$keyword = "handbag";
$string = "I love $keyword";

$string_count = strlen($string)-1;
$string_check = substr($string,$string_count,1); 

if($string_check == "s"){
    $string = str_replace("s", "'s", $string);
    echo "$string.";
    }
    else {
    echo $string."'s.";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...