如何使用preg_match
或preg_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];
答案 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)