如何使用preg_match或preg_replace将目标空白添加到锚标签以在新窗口中打开

时间:2013-06-07 07:42:21

标签: php html-parsing preg-replace preg-match

如何使用preg_matchpreg_replace将目标_blank添加到锚标记以在新窗口中打开?

$contentss = file_get_contents("http://www.ncbi.nlm.nih.gov/pubmed?LinkName=pubmed_pubmed&from_uid=18032633" ); 

preg_match('/<div class="rprt">(.*)<\/div>/',$contentss,$matches);  

$patterns = '/\/pubmed/';   

$replacements = 'http://ncbi.nlm.nih.gov/pubmed';   

$getreplacements = ( preg_replace($patterns, $replacements, $matches)); 

echo $getreplacements[0];

1 个答案:

答案 0 :(得分:0)

无需使用preg匹配/替换str_replace()

str_replace('<a', '<a target="_blank" ', $str);

如果已经有目标属性

,您可以使用preg_match进行检查
if(preg_match('/<a.*?target=[^>]*?>/', $str))

然后决定该怎么做,如果你想替换这个标签,那么使用preg_replace或str_replace。你也可以决定是否有这个标签,然后不做替换。这取决于你。

$str是要替换/检查的字符串。

要使用空白存在时替换目标,您可以使用

preg_replace('/<a.*?target="([^"]?)"[^>]*?>/', 'blank', $str)