The purpose of this function is to simply wrap the first occurrence of the keyword in bold tags. I'm getting an error on the line marked below.
Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: error parsing attribute name in Entity, line: 4 in C:\xampplite\htdocs\testsite\wp-content\plugins\mylugin\test.php on line 40
Is this the correct way to pass the post_content object?
add_filter('wp_insert_post_data', 'my_bold_keyword' );
function my_bold_keyword($content){
$myKeyword = "test 123";
$d = new DOMDocument();
$d->loadHTML($content['post_content']); //ERROR OCCURS HERE
$x = new DOMXpath($d);
$Matches = $x->query("//text()[contains(.,$myKeyword) and not(ancestor::h1) and not(ancestor::h2) and not(ancestor::h3) and not(ancestor::h4) and not(ancestor::h5) and not(ancestor::h6)]");
if($Matches && $Matches->length > 0){
$myText = $Matches->item(0);
// need to wrap #myText in <b> wrapper
}
return $content;
}