PPP*_*PHP 2 php regex preg-replace
我需要在文本中替换以哈希标记(#)开头的单词.我知道如何取代整个单词.
preg_replace("/\b".$variable."\b/", $value, $text);
因为\ b修饰符只接受单词字符所以包含哈希标记的单词不会被替换.
我有这个html包含#companyName类型的变量,我用一个值替换.
\b匹配字母数字字符(简写\w)和非字母数字字符(\W),将下划线计为字母数字.这意味着,正如您所见,它在a之前将不匹配#(除非之前是alnum字符).
我建议你只用你的查询词包围\b它是否以alnum字符开头和结尾.
所以,也许这样的事情(虽然我不知道任何PHP,所以这可能在语法上完全错误):
if (preg_match('/^\w/', $variable))
$variable = '\b'.$variable;
if (preg_match('/\w$/', $variable))
$variable = $variable.'\b';
preg_replace('/'.$variable.'/', $value, $text);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7193 次 |
| 最近记录: |