使用str_replace还是preg_replace?

时间:2014-05-06 11:07:41

标签: php

我正在尝试将window.location链接功能替换为我的模板中的window.open ..

HTML看起来像:

<div onclick="window.location="http://www.website.com/""</div>

我尝试过以下链接中的示例而没有任何运气......

Add _blank to all external links Using str_replace( )

我应该使用str_replace或preg_replace?

2 个答案:

答案 0 :(得分:0)

使用preg_replace

$new_line = preg_replace('/window.location=([\'"][^"\']*[\'"])/', 'window.open($1)', $line);

答案 1 :(得分:-3)

str_replace应该为您完成工作并使用比加载正则表达式引擎更少的资源。

试试这个: -

$t = '<div onclick="window.location="http://www.website.com/"</div>';

$s = str_replace( array('window.location=','.com/'), 
                  array('window.open(','.com/)'),
                  $t);

当然,这并未考虑window.open()函数具有其他必需参数。我希望这不是你的惊喜!