本文介绍了替换以#开头的占位符,然后替换整个单词的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要替换文本中以散列标记(#)开头的单词。嗯,我知道怎样才能把整个单词都替换掉。
preg_replace("/".$variable."/", $value, $text);
因为该修饰符只接受单词字符,所以不会替换包含散列标记的单词。
我有此html,其中包含#companyName类型的变量,我将其替换为值。
推荐答案
匹配字母数字字符(速记
w
)和非字母数字字符(W
),将下划线视为字母数字。这意味着,正如您所看到的,它不会在#
之前匹配(除非前面有一个alnum字符)。
括起来。所以,可能是这样的(虽然我不知道任何PHP,所以这在语法上可能是完全错误的):
if (preg_match('/^w/', $variable))
$variable = ''.$variable;
if (preg_match('/w$/', $variable))
$variable = $variable.'';
preg_replace('/'.$variable.'/', $value, $text);
这篇关于替换以#开头的占位符,然后替换整个单词的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!