php中的preg_match和preg_replace

时间:2013-08-01 08:08:12

标签: php regex preg-replace preg-match preg-match-all

我有一项任务是找到并替换以“#”开头和结尾的单词。

示例 - 我的字符串将如下所示:

  

将你的双手放在空中为#performer1#,举起双手,让#event#。

我期望的输出是:

  

举手向 #perper1#举起双手,双手举起 #event#

我不知道php中的正则表达式,我是初学者,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

正如您已经建议的那样,preg_replace function应该可以解决问题。你现在需要的是像这样的正则表达式

$string = "Put your hands up in the air for #performer#, ...";
$pattern = "/#(\w+)#/";
$replacement = '<strong>$1</strong>';
$new_string = preg_replace($pattern, $replacement, $string);

魔术位是$pattern变量,您可以在其中指定要查找的内容。如果在括号内加上括号,则可以引用$replacement变量中的实际内容。

\w+基本上说:匹配尽可能多的字符(并且至少有一个)a-zA-Z0-9_

PHP PCRE Pattern Syntax可以为您提供有关如何使用正则表达式的更多提示。