PHP str_replace“和”

时间:2013-08-29 14:02:47

标签: php str-replace

所以我有str_replace搜索字符串中的“和”并用&替换它 但是,如果有一个单词包含字母“和”,例如“Howland”,它将用Howl&替换它。

我怎样才能使它只搜索单词和。

这是我设置的功能:

function add_ampersand( $string ) {
    $string = str_replace( 'and', '&', $string );

    return $string;
}

我必须注意,此函数正在URL中使用,因此“和”将在其旁边包含“ - ”,然后将其转换为空格。

3 个答案:

答案 0 :(得分:5)

您可以使用

function add_ampersand( $string ) {
    $string = preg_replace( '/\band\b/', '&', $string );

    return $string;
}

function add_ampersand( $string ) {
    $string = str_replace( ' and ', ' & ', $string );

    return $string;
}

第一个更好的情况是“和”位于字符串末尾旁边或旁边一个特殊字符,例如',.

答案 1 :(得分:0)

试试这个

function add_ampersand( $string ) {
    $string = str_replace( ' and ', ' & ', $string );
    return $string;
}

答案 2 :(得分:0)

如果我理解你,你就有这样的字符串:“ - 和”或“和 - ”或“ - 和 - ”。 将其替换为& amp的最简单方法是:

function add_ampersand( $string ) {
    $string = str_replace( '-and', '-&', $string );
    $string = str_replace( 'and-', '&-', $string );
    $string = str_replace( '-and-', '-&-', $string );

    return $string;
}