使用PHP替换文本字符串中的某些标记的实例

时间:2013-10-23 21:21:34

标签: php regex string replace

如果我有这样的文字字符串:

In the beginning<WH7225> God<WH430> created<WH1254><WH853> the heaven<WH8064> and<WH853> the earth<WH776>.

我想要替换标签&lt;&gt;如果链接包含H和以下数字,我该如何使用PHP?

3 个答案:

答案 0 :(得分:1)

使用preg_replace并在搜索正则表达式中使用括号H[0-9]+(代表字母H后跟1个或多个数字)(如下所示:<W(H[0-9]+)>),然后使用索引来引用替换文本中的索引(如下所示:$1将引用第一个括号)。

答案 1 :(得分:0)

对于这个例子:

$string = preg_replace('/<(WH[^>]+)>/', '<a href="mysite.php?code=$1">$1</a>', $string);

答案 2 :(得分:0)

这应该有效:

$s = 'In the beginning<WH7225> God<WH430> created<WH1254><WH853> the heaven<WH8064> and<WH853> the earth<WH776>.';

$s = preg_replace('~<(WH\d+)>~', '<a href="mysite.php?code=$1">$1</a>', $s);

<强>输出:

  

In the beginning<a href="mysite.php?code=WH7225">WH7225</a> God<a href="mysite.php?code=WH430">WH430</a> created<a href="mysite.php?code=WH1254">WH1254</a><a href="mysite.php?code=WH853">WH853</a> the heaven<a href="mysite.php?code=WH8064">WH8064</a> and<a href="mysite.php?code=WH853">WH853</a> the earth<a href="mysite.php?code=WH776">WH776</a>.