2013-08-01 76 views
1

我有个任务查找和替换,并开始以“#”结尾的单词。的preg_match和preg_replace函数在PHP

例子 - 我的字符串的样子:

把你的手在空中#performer1#,把你的手在空中#事件#。

我有什么期望的输出是:

把你的手在空中#performer1#,把你的手在空中#事件#

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

回答

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可以给您提供有关如何使用正则表达式的一些更多的提示。

+0

我知道了谢谢.... – GOOG