所以我有str_replace搜索字符串中的“和”并用&
替换它
但是,如果有一个单词包含字母“和”,例如“Howland”,它将用Howl&
替换它。
我怎样才能使它只搜索单词和。
这是我设置的功能:
function add_ampersand( $string ) {
$string = str_replace( 'and', '&', $string );
return $string;
}
我必须注意,此函数正在URL中使用,因此“和”将在其旁边包含“ - ”,然后将其转换为空格。
答案 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;
}