In this example we will search for all <a href links inside of content ad check do they have target="_blank"atribute, if they don't have we will attach it:
public static function format_input_text($content){ // find all links preg_match_all('/<a ((?!target)[^>])+?>/', $content, $href_matches); /* example output array ( 0 => array ( 0 => '<a href="https://sourceforge.net/projects/pcre/files/pcre/8.38/">', 1 => '<a href="http://www.mzan.com/article/35986243-error-when-using-regexp-in-mysql.shtml">', 2 => '<a href="https://community.apachefriends.org/f/viewtopic.php?f=29&t=74101">', ), 1 => array ( 0 => '"', 1 => '"', 2 => '"', ), ) */ // loop only first array to modify links foreach ($href_matches[0] as $key => $value) { // take orig link $orig_link = $value; // does it have target="_blank" if (!preg_match('/target="_blank"/',$orig_link)){ // add target = "_blank" $new_link = preg_replace("/<a(.*?)>/", "<a$1 target=\"_blank\">", $orig_link); // replace old link in content with new link $content =str_replace($orig_link, $new_link, $content); } } return $content; }