PHP str_replace"和"

Syg*_*gon -1 php str-replace

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

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

这是我设置的功能:

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

    return $string;
}
Run Code Online (Sandbox Code Playgroud)

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

Pur*_*ari 5

你可以用

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

    return $string;
}
Run Code Online (Sandbox Code Playgroud)

要么

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

    return $string;
}
Run Code Online (Sandbox Code Playgroud)

第一个是在壳体更好""毗邻字符串的末尾或旁边的一个特殊字符,如',,..