【发布时间】:2017-12-16 07:44:25
【问题描述】:
大家早上好。我有一个标题为“The LAST JEDI Will Rock You (Review)”的博客
我有一个php函数
function get_url_text( $string, $separator = '-')
{
$accents_regex = '~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i';
$special_cases = array( '&' => 'and', "'" => '');
$string = mb_strtolower( trim( $string ), 'UTF-8' );
$string = str_replace( array_keys($special_cases), array_values( $special_cases), $string );
$string = preg_replace( $accents_regex, '$1', htmlentities( $string, ENT_QUOTES, 'UTF-8' ) );
$string = preg_replace("/[^a-z0-9]/u", "$separator", $string);
$string = preg_replace("/[$separator]+/u", "$separator", $string);
return $string;
}
在我通过函数运行标题之后。
get_url_text("THE LAST JEDI Will Rock You (Review)");
我得到如下结果:
the-last-jedi-will-rock-you-review-
所以看起来函数将最后一个字符')'变成了'-'
我希望我的结果是
the-last-jedi-will-rock-you-review
最后没有'-'。为了实现这一点,我需要对函数进行哪些更改?
【问题讨论】:
-
trim($str, '-') -
rtrim($str,'-')?