检查 str_replace 是否应该首先执行以避免重复的字符串
Check if str_replace Should Execute First to Avoid Duplicate Strings
每次我们保存 ACF 表单时,此代码段都会在注册商标符号周围添加额外的 标签。我们的目标是让它只执行一次,所以我们需要先检查标签但不知道如何,因为我们对 PHP.
还很陌生
function superscript_R( $value, $post_id, $field ) {
if( is_string($value) ) {
$value = str_replace(['®', '®'],'<sup>®</sup>', $value );
}
return $value;
}
// Apply to all fields
add_filter('acf/update_value', 'superscript_R', 10, 3);
您可以检查 $value
是否包含该符号。因此,只有当它没有 <sup>®</sup>
时,它才会替换值
if( is_string($value) && strpos($value, '<sup>®</sup>') === false ) {
$value = str_replace(['®', '®'],'<sup>®</sup>', $value );
}
您应该首先检查字符串是否包含,如果包含则不要替换。
function superscript_R( $value, $post_id, $field ) {
if( is_string($value) && strpos($value, '<sup>') === false ) {
$value = str_replace(['®', '®'],'<sup>®</sup>', $value );
}
return $value;
}
每次我们保存 ACF 表单时,此代码段都会在注册商标符号周围添加额外的 标签。我们的目标是让它只执行一次,所以我们需要先检查标签但不知道如何,因为我们对 PHP.
还很陌生function superscript_R( $value, $post_id, $field ) {
if( is_string($value) ) {
$value = str_replace(['®', '®'],'<sup>®</sup>', $value );
}
return $value;
}
// Apply to all fields
add_filter('acf/update_value', 'superscript_R', 10, 3);
您可以检查 $value
是否包含该符号。因此,只有当它没有 <sup>®</sup>
if( is_string($value) && strpos($value, '<sup>®</sup>') === false ) {
$value = str_replace(['®', '®'],'<sup>®</sup>', $value );
}
您应该首先检查字符串是否包含,如果包含则不要替换。
function superscript_R( $value, $post_id, $field ) {
if( is_string($value) && strpos($value, '<sup>') === false ) {
$value = str_replace(['®', '®'],'<sup>®</sup>', $value );
}
return $value;
}