I want to replace a certain word in a text string which contains HTML characters. So that's this word turn into a link.
So, for example when I get this String
    Text I get: Lorem ipsum dolor sit amet
I want it to be like this
    Result: Lorem <a href="url">ipsum</a> dolor sit amet
I already archive this with function at the end.
But if the String I get already has the link
    Text I get: Lorem <a href="url">ipsum</a> dolor sit amet
it becomes like this
    Result: Lorem <a href="url"></a> <a href="url">ipsum</a> dolor sit amet
My Function look like this.
function replaceStrings($string) {
$arrCounter = 0;
$arrString = array();
if( have_rows('options_links_repeater', 'option') ):
    while( have_rows('options_links_repeater', 'option') ): the_row();
        $replacetext = get_sub_field('options_links_repeater_text', 'option');
        $replacelink = get_sub_field('options_links_repeater_links', 'option');
        $arrString[$arrCounter]["text"] = $replacetext;
        $arrString[$arrCounter]["link"] = $replacelink;
        $arrCounter++;
    endwhile;
endif;
$length = count($arrString);
for ($i = 0; $i < $length; $i++) {
    $searchString = $arrString[$i]["text"];
    $url = $arrString[$i]["link"];
    $urlLink = $arrString[$i]["link"]['url'];
    $urlLinkText = $arrString[$i]["link"]['title'];
    $urlLinkTarget = $arrString[$i]["link"]['target'] ? $arrString[$i]["link"]['target'] : '_self';
    $string = preg_replace('/'.$searchString.'\b/', '<a href="'.$urlLink.'" target="'.$urlLinkTarget.'">'.$searchString.'</a>', $string);
}
echo $string;
  }
I think the only part that matters now, is the preg_replace.
Can you help me to solve this issue. So that's the word is not replaced if the word is already a link.
Edit: Thank you for the link @bobble-bubble. The accepted answer in this thread helped me: preg_replace to exclude <a href='''></a> PHP
This preg_replace works for me now
    $string = preg_replace("~<a[^>]*>.*?</a\s*>(*SKIP)(*FAIL)|\b".$searchString."\b~", '<a href="'.$urlLink.'" target="'.$urlLinkTarget.'">'.$searchString.'</a>', $string);